Browse Source

SkeletonRenderer.Reset is now Initialize(bool overwrite). SkeletonGraphic. New sample scenes updated for Spine v3. Mesh Generation. Rearranged folders. Many small fixes.

pharan 9 years ago
parent
commit
be38f3e1d3
100 changed files with 615 additions and 230 deletions
  1. 9 0
      spine-unity/Assets/Examples/Getting Started.meta
  2. BIN
      spine-unity/Assets/Examples/Getting Started/1 The Spine GameObject.unity
  3. 8 0
      spine-unity/Assets/Examples/Getting Started/1 The Spine GameObject.unity.meta
  4. BIN
      spine-unity/Assets/Examples/Getting Started/2 Controlling Animation.unity
  5. 8 0
      spine-unity/Assets/Examples/Getting Started/2 Controlling Animation.unity.meta
  6. BIN
      spine-unity/Assets/Examples/Getting Started/3 Controlling Animation Continued.unity
  7. 0 0
      spine-unity/Assets/Examples/Getting Started/3 Controlling Animation Continued.unity.meta
  8. BIN
      spine-unity/Assets/Examples/Getting Started/4 Object Oriented Sample.unity
  9. 8 0
      spine-unity/Assets/Examples/Getting Started/4 Object Oriented Sample.unity.meta
  10. BIN
      spine-unity/Assets/Examples/Getting Started/5 Basic Platformer.unity
  11. 0 0
      spine-unity/Assets/Examples/Getting Started/5 Basic Platformer.unity.meta
  12. BIN
      spine-unity/Assets/Examples/Getting Started/6 SkeletonGraphic.unity
  13. 8 0
      spine-unity/Assets/Examples/Getting Started/6 SkeletonGraphic.unity.meta
  14. 9 0
      spine-unity/Assets/Examples/Getting Started/Scripts.meta
  15. 9 2
      spine-unity/Assets/Examples/Getting Started/Scripts/BasicPlatformerController.cs
  16. 0 0
      spine-unity/Assets/Examples/Getting Started/Scripts/BasicPlatformerController.cs.meta
  17. 1 6
      spine-unity/Assets/Examples/Getting Started/Scripts/ConstrainedCamera.cs
  18. 0 0
      spine-unity/Assets/Examples/Getting Started/Scripts/ConstrainedCamera.cs.meta
  19. 48 7
      spine-unity/Assets/Examples/Getting Started/Scripts/Raptor.cs
  20. 0 0
      spine-unity/Assets/Examples/Getting Started/Scripts/Raptor.cs.meta
  21. 61 0
      spine-unity/Assets/Examples/Getting Started/Scripts/SpineBeginnerTwo.cs
  22. 3 1
      spine-unity/Assets/Examples/Getting Started/Scripts/SpineBeginnerTwo.cs.meta
  23. 34 0
      spine-unity/Assets/Examples/Getting Started/Scripts/SpineboyBeginnerInput.cs
  24. 12 0
      spine-unity/Assets/Examples/Getting Started/Scripts/SpineboyBeginnerInput.cs.meta
  25. 65 0
      spine-unity/Assets/Examples/Getting Started/Scripts/SpineboyBeginnerModel.cs
  26. 12 0
      spine-unity/Assets/Examples/Getting Started/Scripts/SpineboyBeginnerModel.cs.meta
  27. 105 0
      spine-unity/Assets/Examples/Getting Started/Scripts/SpineboyBeginnerView.cs
  28. 12 0
      spine-unity/Assets/Examples/Getting Started/Scripts/SpineboyBeginnerView.cs.meta
  29. 0 0
      spine-unity/Assets/Examples/Other Examples.meta
  30. 0 0
      spine-unity/Assets/Examples/Other Examples/AtlasRegionAttacher.unity
  31. 0 0
      spine-unity/Assets/Examples/Other Examples/AtlasRegionAttacher.unity.meta
  32. BIN
      spine-unity/Assets/Examples/Other Examples/Dragon.unity
  33. 0 0
      spine-unity/Assets/Examples/Other Examples/Dragon.unity.meta
  34. 0 0
      spine-unity/Assets/Examples/Other Examples/Goblins.unity
  35. 0 0
      spine-unity/Assets/Examples/Other Examples/Goblins.unity.meta
  36. BIN
      spine-unity/Assets/Examples/Other Examples/Mix and Match.unity
  37. 0 0
      spine-unity/Assets/Examples/Other Examples/Mix and Match.unity.meta
  38. BIN
      spine-unity/Assets/Examples/Other Examples/SkeletonUtility Animated Physics.unity
  39. 0 0
      spine-unity/Assets/Examples/Other Examples/SkeletonUtility Animated Physics.unity.meta
  40. BIN
      spine-unity/Assets/Examples/Other Examples/SkeletonUtility Eyes.unity
  41. 0 0
      spine-unity/Assets/Examples/Other Examples/SkeletonUtility Eyes.unity.meta
  42. BIN
      spine-unity/Assets/Examples/Other Examples/SkeletonUtility GroundConstraint.unity
  43. 0 0
      spine-unity/Assets/Examples/Other Examples/SkeletonUtility GroundConstraint.unity.meta
  44. BIN
      spine-unity/Assets/Examples/Other Examples/SkeletonUtility Ragdoll.unity
  45. 0 0
      spine-unity/Assets/Examples/Other Examples/SkeletonUtility Ragdoll.unity.meta
  46. BIN
      spine-unity/Assets/Examples/Other Examples/SpineGauge.unity
  47. 0 0
      spine-unity/Assets/Examples/Other Examples/SpineGauge.unity.meta
  48. 0 5
      spine-unity/Assets/Examples/Scenes/Basic Platformer.meta
  49. BIN
      spine-unity/Assets/Examples/Scenes/Basic Platformer.unity
  50. BIN
      spine-unity/Assets/Examples/Scenes/Basic Platformer/LightmapFar-0.exr
  51. 0 47
      spine-unity/Assets/Examples/Scenes/Basic Platformer/LightmapFar-0.exr.meta
  52. BIN
      spine-unity/Assets/Examples/Scenes/Basic Platformer/LightmapNear-0.exr
  53. BIN
      spine-unity/Assets/Examples/Scenes/Dragon.unity
  54. BIN
      spine-unity/Assets/Examples/Scenes/Eyes.unity
  55. BIN
      spine-unity/Assets/Examples/Scenes/Mix and Match.unity
  56. BIN
      spine-unity/Assets/Examples/Scenes/Ragdoll.unity
  57. BIN
      spine-unity/Assets/Examples/Scenes/Raptor Animated Physics.unity
  58. BIN
      spine-unity/Assets/Examples/Scenes/Raptor GroundConstraint.unity
  59. BIN
      spine-unity/Assets/Examples/Scenes/Raptor.unity
  60. BIN
      spine-unity/Assets/Examples/Scenes/SpineGauge.unity
  61. BIN
      spine-unity/Assets/Examples/Scenes/Spineboy Movement.unity
  62. 0 4
      spine-unity/Assets/Examples/Scenes/Spineboy Movement.unity.meta
  63. BIN
      spine-unity/Assets/Examples/Scenes/Spineboy.unity
  64. 0 4
      spine-unity/Assets/Examples/Scenes/Spineboy.unity.meta
  65. 8 4
      spine-unity/Assets/Examples/Scripts/FootSoldierExample.cs
  66. 1 1
      spine-unity/Assets/Examples/Scripts/Goblins.cs
  67. 16 11
      spine-unity/Assets/Examples/Scripts/SpineGauge.cs
  68. 0 82
      spine-unity/Assets/Examples/Scripts/SpineboyController.cs
  69. BIN
      spine-unity/Assets/Examples/Sound/Footstep.ogg
  70. 22 0
      spine-unity/Assets/Examples/Sound/Footstep.ogg.meta
  71. BIN
      spine-unity/Assets/Examples/Sound/Footstep.wav
  72. 0 12
      spine-unity/Assets/Examples/Sound/Footstep.wav.meta
  73. BIN
      spine-unity/Assets/Examples/Sound/Hardfall.ogg
  74. 22 0
      spine-unity/Assets/Examples/Sound/Hardfall.ogg.meta
  75. BIN
      spine-unity/Assets/Examples/Sound/Hardfall.wav
  76. 0 12
      spine-unity/Assets/Examples/Sound/Hardfall.wav.meta
  77. BIN
      spine-unity/Assets/Examples/Sound/Jump.ogg
  78. 22 0
      spine-unity/Assets/Examples/Sound/Jump.ogg.meta
  79. BIN
      spine-unity/Assets/Examples/Sound/Jump.wav
  80. 0 12
      spine-unity/Assets/Examples/Sound/Jump.wav.meta
  81. BIN
      spine-unity/Assets/Examples/Sound/Spineboygun.ogg
  82. 22 0
      spine-unity/Assets/Examples/Sound/Spineboygun.ogg.meta
  83. 13 3
      spine-unity/Assets/Examples/Spine/Dragon/dragon.png.meta
  84. 13 3
      spine-unity/Assets/Examples/Spine/Dragon/dragon2.png.meta
  85. BIN
      spine-unity/Assets/Examples/Spine/Dragon/dragon_Atlas.asset
  86. BIN
      spine-unity/Assets/Examples/Spine/Dragon/dragon_dragon.mat
  87. BIN
      spine-unity/Assets/Examples/Spine/Dragon/dragon_dragon2.mat
  88. 13 3
      spine-unity/Assets/Examples/Spine/Eyes/eyes.png.meta
  89. BIN
      spine-unity/Assets/Examples/Spine/Eyes/eyes_Atlas.asset
  90. BIN
      spine-unity/Assets/Examples/Spine/Eyes/eyes_Material.mat
  91. 13 3
      spine-unity/Assets/Examples/Spine/FootSoldier/Equipment/Equipment.png.meta
  92. BIN
      spine-unity/Assets/Examples/Spine/FootSoldier/Equipment/Equipment_Atlas.asset
  93. BIN
      spine-unity/Assets/Examples/Spine/FootSoldier/Equipment/Equipment_Material.mat
  94. 13 3
      spine-unity/Assets/Examples/Spine/FootSoldier/FS_White.png.meta
  95. BIN
      spine-unity/Assets/Examples/Spine/FootSoldier/FS_White_Atlas.asset
  96. BIN
      spine-unity/Assets/Examples/Spine/FootSoldier/FS_White_Material.mat
  97. 12 2
      spine-unity/Assets/Examples/Spine/Gauge/Gauge.png.meta
  98. BIN
      spine-unity/Assets/Examples/Spine/Gauge/Gauge_Atlas.asset
  99. BIN
      spine-unity/Assets/Examples/Spine/Gauge/Gauge_Material.mat
  100. 13 3
      spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh.png.meta

+ 9 - 0
spine-unity/Assets/Examples/Getting Started.meta

@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: fb68fe44ae68d834b8be5d854b2b402e
+folderAsset: yes
+timeCreated: 1452591237
+licenseType: Free
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
spine-unity/Assets/Examples/Getting Started/1 The Spine GameObject.unity


+ 8 - 0
spine-unity/Assets/Examples/Getting Started/1 The Spine GameObject.unity.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fff6e9ad77d93024a9a87f6f2c0a6b3e
+timeCreated: 1452591252
+licenseType: Free
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
spine-unity/Assets/Examples/Getting Started/2 Controlling Animation.unity


+ 8 - 0
spine-unity/Assets/Examples/Getting Started/2 Controlling Animation.unity.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 5c66a9c1bbf922d4ab082694f19536c7
+timeCreated: 1452592098
+licenseType: Free
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
spine-unity/Assets/Examples/Getting Started/3 Controlling Animation Continued.unity


+ 0 - 0
spine-unity/Assets/Examples/Scenes/Raptor.unity.meta → spine-unity/Assets/Examples/Getting Started/3 Controlling Animation Continued.unity.meta


BIN
spine-unity/Assets/Examples/Getting Started/4 Object Oriented Sample.unity


+ 8 - 0
spine-unity/Assets/Examples/Getting Started/4 Object Oriented Sample.unity.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 47344a855c1c167499dbb9bf28d1368b
+timeCreated: 1452594655
+licenseType: Free
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
spine-unity/Assets/Examples/Getting Started/5 Basic Platformer.unity


+ 0 - 0
spine-unity/Assets/Examples/Scenes/Basic Platformer.unity.meta → spine-unity/Assets/Examples/Getting Started/5 Basic Platformer.unity.meta


BIN
spine-unity/Assets/Examples/Getting Started/6 SkeletonGraphic.unity


+ 8 - 0
spine-unity/Assets/Examples/Getting Started/6 SkeletonGraphic.unity.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fa77f7a2c74add54eb0eb29f88e080dc
+timeCreated: 1455501626
+licenseType: Free
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 9 - 0
spine-unity/Assets/Examples/Getting Started/Scripts.meta

@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: a34eef132f2b4da45aa8023dbe5934e7
+folderAsset: yes
+timeCreated: 1452593684
+licenseType: Free
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 9 - 2
spine-unity/Assets/Examples/Scripts/BasicPlatformerController.cs → spine-unity/Assets/Examples/Getting Started/Scripts/BasicPlatformerController.cs

@@ -86,6 +86,7 @@ public class BasicPlatformerController : MonoBehaviour {
 		//play some sound if footstep event fired
 		//play some sound if footstep event fired
 		if (e.Data.Name == footstepEventName) {
 		if (e.Data.Name == footstepEventName) {
 			footstepAudioSource.Stop();
 			footstepAudioSource.Stop();
+			footstepAudioSource.pitch = GetRandomPitch(0.2f);
 			footstepAudioSource.Play();
 			footstepAudioSource.Play();
 		}
 		}
 	}
 	}
@@ -107,8 +108,8 @@ public class BasicPlatformerController : MonoBehaviour {
 				velocity.y = jumpSpeed;
 				velocity.y = jumpSpeed;
 				jumpEndTime = Time.time + jumpDuration;
 				jumpEndTime = Time.time + jumpDuration;
 			} else if (Time.time < jumpEndTime && Input.GetButtonUp(JumpButton)) {
 			} else if (Time.time < jumpEndTime && Input.GetButtonUp(JumpButton)) {
-					jumpInterrupt = true;
-				}
+				jumpInterrupt = true;
+			}
 
 
             
             
 			if (x != 0) {
 			if (x != 0) {
@@ -182,4 +183,10 @@ public class BasicPlatformerController : MonoBehaviour {
 		lastVelocity = velocity;
 		lastVelocity = velocity;
 		lastGrounded = controller.isGrounded;
 		lastGrounded = controller.isGrounded;
 	}
 	}
+
+	#region Utility
+	static float GetRandomPitch (float maxOffset) {
+		return 1f + Random.Range(-maxOffset, maxOffset);
+	}
+	#endregion
 }
 }

+ 0 - 0
spine-unity/Assets/Examples/Scripts/BasicPlatformerController.cs.meta → spine-unity/Assets/Examples/Getting Started/Scripts/BasicPlatformerController.cs.meta


+ 1 - 6
spine-unity/Assets/Examples/Scripts/ConstrainedCamera.cs → spine-unity/Assets/Examples/Getting Started/Scripts/ConstrainedCamera.cs

@@ -14,12 +14,7 @@ public class ConstrainedCamera : MonoBehaviour {
 	public Vector3 min;
 	public Vector3 min;
 	public Vector3 max;
 	public Vector3 max;
 	public float smoothing = 5f;
 	public float smoothing = 5f;
-	
-	// Use this for initialization
-	void Start () {
-	
-	}
-	
+
 	// Update is called once per frame
 	// Update is called once per frame
 	void LateUpdate () {
 	void LateUpdate () {
 		Vector3 goalPoint = target.position + offset;
 		Vector3 goalPoint = target.position + offset;

+ 0 - 0
spine-unity/Assets/Examples/Scripts/ConstrainedCamera.cs.meta → spine-unity/Assets/Examples/Getting Started/Scripts/ConstrainedCamera.cs.meta


+ 48 - 7
spine-unity/Assets/Examples/Scripts/Raptor.cs → spine-unity/Assets/Examples/Getting Started/Scripts/Raptor.cs

@@ -33,12 +33,53 @@ using UnityEngine;
 using System.Collections;
 using System.Collections;
 
 
 public class Raptor : MonoBehaviour {
 public class Raptor : MonoBehaviour {
-	public void Start () {
-		// Get the SkeletonAnimation component for the GameObject this script is attached to.
-		SkeletonAnimation skeletonAnimation = GetComponent<SkeletonAnimation>();
-		// Set an animation on track 1 that does nothing to be played first.
-		skeletonAnimation.state.SetAnimation(1, "empty", false);
-		// Queue gun grab to be played on track 1 two seconds later.
-		skeletonAnimation.state.AddAnimation(1, "gungrab", false, 2);
+
+	#region Inspector
+	[SpineAnimation]
+	public string walk = "walk";
+
+	[SpineAnimation]
+	public string gungrab = "gungrab";
+
+	[SpineAnimation]
+	public string gunkeep = "gunkeep";
+
+	[SpineEvent]
+	public string footstepEvent = "footstep";
+
+	public AudioSource footstepAudioSource;
+	#endregion
+
+	SkeletonAnimation skeletonAnimation;
+
+	void Start () {
+		skeletonAnimation = GetComponent<SkeletonAnimation>();
+		skeletonAnimation.state.Event += HandleEvent;
+		StartCoroutine(GunGrabRoutine());
+	}
+
+	void HandleEvent (Spine.AnimationState state, int trackIndex, Spine.Event e) {
+		if (e.Data.Name == footstepEvent) {
+			footstepAudioSource.pitch = 0.5f + Random.Range(-0.2f, 0.2f);
+			footstepAudioSource.Play();
+		}
+	}
+
+	IEnumerator GunGrabRoutine () {		
+		// Play the walk animation on track 0.
+		skeletonAnimation.state.SetAnimation(0, walk, true);
+
+		// Repeatedly play the gungrab and gunkeep animation on track 1.
+		while (true) {
+			
+			yield return new WaitForSeconds(Random.Range(0.5f, 3f));
+			skeletonAnimation.state.SetAnimation(1, gungrab, false);
+
+			yield return new WaitForSeconds(Random.Range(0.5f, 3f));
+			skeletonAnimation.state.SetAnimation(1, gunkeep, false);
+
+		}
+
 	}
 	}
+
 }
 }

+ 0 - 0
spine-unity/Assets/Examples/Scripts/Raptor.cs.meta → spine-unity/Assets/Examples/Getting Started/Scripts/Raptor.cs.meta


+ 61 - 0
spine-unity/Assets/Examples/Getting Started/Scripts/SpineBeginnerTwo.cs

@@ -0,0 +1,61 @@
+using UnityEngine;
+using System.Collections;
+
+public class SpineBeginnerTwo : MonoBehaviour {
+
+	#region Inspector
+	// [SpineAnimation] attribute allows an Inspector dropdown of Spine animation names coming form SkeletonAnimation.
+	[SpineAnimation]
+	public string runAnimationName;
+
+	[SpineAnimation]
+	public string idleAnimationName;
+
+	[SpineAnimation]
+	public string walkAnimationName;
+
+	[SpineAnimation]
+	public string shootAnimationName;
+	#endregion
+
+	SkeletonAnimation skeletonAnimation;
+
+	// Spine.AnimationState and Spine.Skeleton are not Unity-serialized objects. You will not see them as fields in the inspector.
+	public Spine.AnimationState spineAnimationState;
+	public Spine.Skeleton skeleton;
+
+	void Start () {
+		// Make sure you get these AnimationState and Skeleton references in Start or Later. Getting and using them in Awake is not guaranteed by default execution order.
+		skeletonAnimation = GetComponent<SkeletonAnimation>();
+		spineAnimationState = skeletonAnimation.state;
+		skeleton = skeletonAnimation.skeleton;
+
+		StartCoroutine(DoDemoRoutine());
+	}
+		
+	/// <summary>This is an infinitely repeating Unity Coroutine. Read the Unity documentation on Coroutines to learn more.</summary>
+	IEnumerator DoDemoRoutine () {
+		
+		while (true) {
+			// SetAnimation is the basic way to set an animation.
+			// SetAnimation sets the animation and starts playing it from the beginning.
+			// Common Mistake: If you keep calling it in Update, it will keep showing the first pose of the animation, do don't do that.
+
+			spineAnimationState.SetAnimation(0, walkAnimationName, true);
+			yield return new WaitForSeconds(1.5f);
+
+			// skeletonAnimation.AnimationName = runAnimationName; // this line also works for quick testing/simple uses.
+			spineAnimationState.SetAnimation(0, runAnimationName, true);
+			yield return new WaitForSeconds(1.5f);
+
+			spineAnimationState.SetAnimation(0, idleAnimationName, true);
+			yield return new WaitForSeconds(1f);
+
+			skeleton.FlipX = true;		// skeleton allows you to flip the skeleton.
+			yield return new WaitForSeconds(0.5f);
+			skeleton.FlipX = false;
+			yield return new WaitForSeconds(0.5f);
+
+		}
+	}
+}

+ 3 - 1
spine-unity/Assets/Examples/Scripts/SpineboyController.cs.meta → spine-unity/Assets/Examples/Getting Started/Scripts/SpineBeginnerTwo.cs.meta

@@ -1,5 +1,7 @@
 fileFormatVersion: 2
 fileFormatVersion: 2
-guid: ef0903d879ea9ca49a1fd44d707beb9d
+guid: a57fe3aaf2b1f964182d90c5546754d1
+timeCreated: 1452593662
+licenseType: Free
 MonoImporter:
 MonoImporter:
   serializedVersion: 2
   serializedVersion: 2
   defaultReferences: []
   defaultReferences: []

+ 34 - 0
spine-unity/Assets/Examples/Getting Started/Scripts/SpineboyBeginnerInput.cs

@@ -0,0 +1,34 @@
+using UnityEngine;
+using System.Collections;
+
+public class SpineboyBeginnerInput : MonoBehaviour {
+
+	#region Inspector
+	public string horizontalAxis = "Horizontal";
+	public string attackButton = "Fire1";
+	public string jumpButton = "Jump";
+
+	public SpineboyBeginnerModel model;
+
+	void OnValidate () {
+		if (model == null)
+			model = GetComponent<SpineboyBeginnerModel>();
+	}
+	#endregion
+
+	void Update () {
+		if (model == null) return;
+
+		float currentHorizontal = Input.GetAxisRaw(horizontalAxis);
+		model.TryMove(currentHorizontal);
+
+		if (Input.GetButton(attackButton))
+			model.TryShoot();
+
+		if (Input.GetButtonDown(jumpButton))
+			model.TryJump();
+	
+	}
+
+
+}

+ 12 - 0
spine-unity/Assets/Examples/Getting Started/Scripts/SpineboyBeginnerInput.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 8f685123e0610c347a7b2c03c8a19535
+timeCreated: 1452595430
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 65 - 0
spine-unity/Assets/Examples/Getting Started/Scripts/SpineboyBeginnerModel.cs

@@ -0,0 +1,65 @@
+using UnityEngine;
+using System.Collections;
+
+[SelectionBase]
+public class SpineboyBeginnerModel : MonoBehaviour {
+
+	#region Inspector
+	[Header("Current State")]
+	public SpineBeginnerBodyState state;
+	public bool facingLeft;
+	[Range(-1f, 1f)]
+	public float currentSpeed;
+
+	[Header("Balance")]
+	public float shootInterval = 0.12f;
+	#endregion
+
+	float lastShootTime;
+	public event System.Action ShootEvent;	// Lets other scripts know when Spineboy is shooting. Check C# Documentation to learn more about events and delegates.
+
+	#region API
+	public void TryJump () {
+		StartCoroutine(JumpRoutine());
+	}
+
+	public void TryShoot () {
+		float currentTime = Time.time;
+
+		if (currentTime - lastShootTime > shootInterval) {
+			lastShootTime = currentTime;
+			if (ShootEvent != null) ShootEvent();	// Fire the "ShootEvent" event.
+		}
+	}
+
+	public void TryMove (float speed) {
+		currentSpeed = speed; // show the "speed" in the Inspector.
+
+		if (speed != 0) {
+			bool speedIsNegative = (speed < 0f);
+			facingLeft = speedIsNegative; // Change facing direction whenever speed is not 0.
+		}
+			
+		if (state != SpineBeginnerBodyState.Jumping) {
+			state = (speed == 0) ? SpineBeginnerBodyState.Idle : SpineBeginnerBodyState.Running;
+		}
+
+	}
+	#endregion
+
+	IEnumerator JumpRoutine () {
+		if (state == SpineBeginnerBodyState.Jumping) yield break;	// Don't jump when already jumping.
+
+		// Fake jumping.
+		state = SpineBeginnerBodyState.Jumping;
+		yield return new WaitForSeconds(1.2f); 
+		state = SpineBeginnerBodyState.Idle;
+	}
+
+}
+
+public enum SpineBeginnerBodyState {
+	Idle,
+	Running,
+	Jumping
+}

+ 12 - 0
spine-unity/Assets/Examples/Getting Started/Scripts/SpineboyBeginnerModel.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: f999dde27e9711a45b0ee1b0d25217ec
+timeCreated: 1452594812
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 105 - 0
spine-unity/Assets/Examples/Getting Started/Scripts/SpineboyBeginnerView.cs

@@ -0,0 +1,105 @@
+using UnityEngine;
+using System.Collections;
+
+public class SpineboyBeginnerView : MonoBehaviour {
+	
+	#region Inspector
+	[Header("Components")]
+	public SpineboyBeginnerModel model;
+	public SkeletonAnimation skeletonAnimation;
+	//public ParticleSystem gunParticles;
+
+	[SpineAnimation] public string run, idle, shoot, jump;
+	[SpineEvent] public string footstepEventName;
+
+	[Header("Audio")]
+	public float footstepPitchOffset = 0.2f;
+	public float gunsoundPitchOffset = 0.13f;
+	public AudioSource footstepSource, gunSource, jumpSource;
+
+	[Header("Effects")]
+	public ParticleSystem gunParticles;
+	#endregion
+
+	SpineBeginnerBodyState previousViewState;
+
+	void Start () {
+		if (skeletonAnimation == null) return;
+		model.ShootEvent += PlayShoot;
+		skeletonAnimation.state.Event += HandleEvent;
+	}
+
+	void HandleEvent (Spine.AnimationState state, int trackIndex, Spine.Event e) {
+		if (e.Data.Name == footstepEventName) {
+			PlayFootstepSound();
+		}
+	}
+
+	void Update () {
+		if (skeletonAnimation == null) return;
+		if (model == null) return;
+
+		if (skeletonAnimation.skeleton.FlipX != model.facingLeft) {	// Detect changes in model.facingLeft
+			Turn(model.facingLeft);
+		}
+
+		// Detect changes in model.state
+		var currentModelState = model.state;
+
+		if (previousViewState != currentModelState) {
+			PlayNewStableAnimation();
+		}
+		
+		previousViewState = currentModelState;
+	}
+
+	void PlayNewStableAnimation () {
+		var newModelState = model.state;
+		string nextAnimation;
+
+		// Add conditionals to not interrupt transient animations.
+
+		if (previousViewState == SpineBeginnerBodyState.Jumping && newModelState != SpineBeginnerBodyState.Jumping) {
+			PlayFootstepSound();
+		}
+
+		if (newModelState == SpineBeginnerBodyState.Jumping) {
+			jumpSource.Play();
+			nextAnimation = jump;
+		} else {
+			if (newModelState == SpineBeginnerBodyState.Running) {
+				nextAnimation = run;
+			} else {
+				nextAnimation = idle;
+			}
+		}
+
+		skeletonAnimation.state.SetAnimation(0, nextAnimation, true);
+	}
+
+	void PlayFootstepSound () {
+		footstepSource.Play();
+		footstepSource.pitch = GetRandomPitch(footstepPitchOffset);
+	}
+
+	#region Transient Actions
+	public void PlayShoot () {
+		// Play the shoot animation on track 1.
+		skeletonAnimation.state.SetAnimation(1, shoot, false);
+		gunSource.pitch = GetRandomPitch(gunsoundPitchOffset);
+		gunSource.Play();
+		gunParticles.Play();
+	}
+
+	public void Turn (bool facingLeft) {
+		skeletonAnimation.skeleton.FlipX = facingLeft;
+		// Maybe play a transient turning animation too, then call ChangeStableAnimation.
+	}
+	#endregion
+
+	#region Utility
+	public float GetRandomPitch (float maxPitchOffset) {
+		return 1f + Random.Range(-maxPitchOffset, maxPitchOffset);
+	}
+	#endregion
+}

+ 12 - 0
spine-unity/Assets/Examples/Getting Started/Scripts/SpineboyBeginnerView.cs.meta

@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: b59f510ae90fd1a419f19ed805e6e229
+timeCreated: 1452594730
+licenseType: Free
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
spine-unity/Assets/Examples/Scenes.meta → spine-unity/Assets/Examples/Other Examples.meta


+ 0 - 0
spine-unity/Assets/Examples/Scenes/Attributes and AtlasRegions.unity → spine-unity/Assets/Examples/Other Examples/AtlasRegionAttacher.unity


+ 0 - 0
spine-unity/Assets/Examples/Scenes/Attributes and AtlasRegions.unity.meta → spine-unity/Assets/Examples/Other Examples/AtlasRegionAttacher.unity.meta


BIN
spine-unity/Assets/Examples/Other Examples/Dragon.unity


+ 0 - 0
spine-unity/Assets/Examples/Scenes/Dragon.unity.meta → spine-unity/Assets/Examples/Other Examples/Dragon.unity.meta


+ 0 - 0
spine-unity/Assets/Examples/Scenes/Goblins.unity → spine-unity/Assets/Examples/Other Examples/Goblins.unity


+ 0 - 0
spine-unity/Assets/Examples/Scenes/Goblins.unity.meta → spine-unity/Assets/Examples/Other Examples/Goblins.unity.meta


BIN
spine-unity/Assets/Examples/Other Examples/Mix and Match.unity


+ 0 - 0
spine-unity/Assets/Examples/Scenes/Mix and Match.unity.meta → spine-unity/Assets/Examples/Other Examples/Mix and Match.unity.meta


BIN
spine-unity/Assets/Examples/Other Examples/SkeletonUtility Animated Physics.unity


+ 0 - 0
spine-unity/Assets/Examples/Scenes/Raptor Animated Physics.unity.meta → spine-unity/Assets/Examples/Other Examples/SkeletonUtility Animated Physics.unity.meta


BIN
spine-unity/Assets/Examples/Other Examples/SkeletonUtility Eyes.unity


+ 0 - 0
spine-unity/Assets/Examples/Scenes/Eyes.unity.meta → spine-unity/Assets/Examples/Other Examples/SkeletonUtility Eyes.unity.meta


BIN
spine-unity/Assets/Examples/Other Examples/SkeletonUtility GroundConstraint.unity


+ 0 - 0
spine-unity/Assets/Examples/Scenes/Raptor GroundConstraint.unity.meta → spine-unity/Assets/Examples/Other Examples/SkeletonUtility GroundConstraint.unity.meta


BIN
spine-unity/Assets/Examples/Other Examples/SkeletonUtility Ragdoll.unity


+ 0 - 0
spine-unity/Assets/Examples/Scenes/Ragdoll.unity.meta → spine-unity/Assets/Examples/Other Examples/SkeletonUtility Ragdoll.unity.meta


BIN
spine-unity/Assets/Examples/Other Examples/SpineGauge.unity


+ 0 - 0
spine-unity/Assets/Examples/Scenes/SpineGauge.unity.meta → spine-unity/Assets/Examples/Other Examples/SpineGauge.unity.meta


+ 0 - 5
spine-unity/Assets/Examples/Scenes/Basic Platformer.meta

@@ -1,5 +0,0 @@
-fileFormatVersion: 2
-guid: 2a88cb6ea6a9bd94e8513bd8b866934b
-folderAsset: yes
-DefaultImporter:
-  userData: 

BIN
spine-unity/Assets/Examples/Scenes/Basic Platformer.unity


BIN
spine-unity/Assets/Examples/Scenes/Basic Platformer/LightmapFar-0.exr


+ 0 - 47
spine-unity/Assets/Examples/Scenes/Basic Platformer/LightmapFar-0.exr.meta

@@ -1,47 +0,0 @@
-fileFormatVersion: 2
-guid: fadfb38fe9b3ecc4db70956f425e4720
-TextureImporter:
-  fileIDToRecycleName: {}
-  serializedVersion: 2
-  mipmaps:
-    mipMapMode: 0
-    enableMipMap: 1
-    linearTexture: 1
-    correctGamma: 0
-    fadeOut: 0
-    borderMipMap: 0
-    mipMapFadeDistanceStart: 1
-    mipMapFadeDistanceEnd: 3
-  bumpmap:
-    convertToNormalMap: 0
-    externalNormalMap: 0
-    heightScale: .25
-    normalMapFilter: 0
-  isReadable: 0
-  grayScaleToAlpha: 0
-  generateCubemap: 0
-  seamlessCubemap: 0
-  textureFormat: -1
-  maxTextureSize: 1024
-  textureSettings:
-    filterMode: 1
-    aniso: 3
-    mipBias: -1
-    wrapMode: 1
-  nPOTScale: 1
-  lightmap: 1
-  compressionQuality: 100
-  spriteMode: 0
-  spriteExtrude: 1
-  spriteMeshType: 1
-  alignment: 0
-  spritePivot: {x: .5, y: .5}
-  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
-  spritePixelsToUnits: 100
-  alphaIsTransparency: 0
-  textureType: 6
-  buildTargetSettings: []
-  spriteSheet:
-    sprites: []
-  spritePackingTag: 
-  userData: 

BIN
spine-unity/Assets/Examples/Scenes/Basic Platformer/LightmapNear-0.exr


BIN
spine-unity/Assets/Examples/Scenes/Dragon.unity


BIN
spine-unity/Assets/Examples/Scenes/Eyes.unity


BIN
spine-unity/Assets/Examples/Scenes/Mix and Match.unity


BIN
spine-unity/Assets/Examples/Scenes/Ragdoll.unity


BIN
spine-unity/Assets/Examples/Scenes/Raptor Animated Physics.unity


BIN
spine-unity/Assets/Examples/Scenes/Raptor GroundConstraint.unity


BIN
spine-unity/Assets/Examples/Scenes/Raptor.unity


BIN
spine-unity/Assets/Examples/Scenes/SpineGauge.unity


BIN
spine-unity/Assets/Examples/Scenes/Spineboy Movement.unity


+ 0 - 4
spine-unity/Assets/Examples/Scenes/Spineboy Movement.unity.meta

@@ -1,4 +0,0 @@
-fileFormatVersion: 2
-guid: 624423be326fb1047bb3fc6624faec9e
-DefaultImporter:
-  userData: 

BIN
spine-unity/Assets/Examples/Scenes/Spineboy.unity


+ 0 - 4
spine-unity/Assets/Examples/Scenes/Spineboy.unity.meta

@@ -1,4 +0,0 @@
-fileFormatVersion: 2
-guid: 561b2daf45857734dbad43f0b809d884
-DefaultImporter:
-  userData: 

+ 8 - 4
spine-unity/Assets/Examples/Scripts/FootSoldierExample.cs

@@ -29,13 +29,17 @@ public class FootSoldierExample : MonoBehaviour {
 	[Range(0, 0.2f)]
 	[Range(0, 0.2f)]
 	public float blinkDuration = 0.05f;
 	public float blinkDuration = 0.05f;
 
 
+	public KeyCode attackKey = KeyCode.Mouse0;
+	public KeyCode rightKey = KeyCode.D;
+	public KeyCode leftKey = KeyCode.A;
+
 	public float moveSpeed = 3;
 	public float moveSpeed = 3;
 
 
 	private SkeletonAnimation skeletonAnimation;
 	private SkeletonAnimation skeletonAnimation;
 
 
 	void Awake() {
 	void Awake() {
 		skeletonAnimation = GetComponent<SkeletonAnimation>();
 		skeletonAnimation = GetComponent<SkeletonAnimation>();
-		skeletonAnimation.OnReset += Apply;
+		skeletonAnimation.OnRebuild += Apply;
 	}
 	}
 
 
 	void Apply(SkeletonRenderer skeletonRenderer) {
 	void Apply(SkeletonRenderer skeletonRenderer) {
@@ -43,14 +47,14 @@ public class FootSoldierExample : MonoBehaviour {
 	}
 	}
 
 
 	void Update() {
 	void Update() {
-		if (Input.GetKey(KeyCode.Space)) {
+		if (Input.GetKey(attackKey)) {
 			skeletonAnimation.AnimationName = attackAnimation;
 			skeletonAnimation.AnimationName = attackAnimation;
 		} else {
 		} else {
-			if (Input.GetKey(KeyCode.RightArrow)) {
+			if (Input.GetKey(rightKey)) {
 				skeletonAnimation.AnimationName = moveAnimation;
 				skeletonAnimation.AnimationName = moveAnimation;
 				skeletonAnimation.skeleton.FlipX = false;
 				skeletonAnimation.skeleton.FlipX = false;
 				transform.Translate(moveSpeed * Time.deltaTime, 0, 0);
 				transform.Translate(moveSpeed * Time.deltaTime, 0, 0);
-			} else if(Input.GetKey(KeyCode.LeftArrow)) {
+			} else if(Input.GetKey(leftKey)) {
 				skeletonAnimation.AnimationName = moveAnimation;
 				skeletonAnimation.AnimationName = moveAnimation;
 				skeletonAnimation.skeleton.FlipX = true;
 				skeletonAnimation.skeleton.FlipX = true;
 				transform.Translate(-moveSpeed * Time.deltaTime, 0, 0);
 				transform.Translate(-moveSpeed * Time.deltaTime, 0, 0);

+ 1 - 1
spine-unity/Assets/Examples/Scripts/Goblins.cs

@@ -45,7 +45,7 @@ public class Goblins : MonoBehaviour {
 	}
 	}
 
 
 	// This is called after the animation is applied to the skeleton and can be used to adjust the bones dynamically.
 	// This is called after the animation is applied to the skeleton and can be used to adjust the bones dynamically.
-	public void UpdateLocal (SkeletonRenderer skeletonRenderer) {
+	public void UpdateLocal (ISkeletonAnimation skeletonRenderer) {
 		headBone.Rotation += 15;
 		headBone.Rotation += 15;
 	}
 	}
 	
 	

+ 16 - 11
spine-unity/Assets/Examples/Scripts/SpineGauge.cs

@@ -3,35 +3,40 @@ using System.Collections;
 
 
 [ExecuteInEditMode]
 [ExecuteInEditMode]
 [RequireComponent(typeof(SkeletonRenderer))]
 [RequireComponent(typeof(SkeletonRenderer))]
-public class SpineGauge : MonoBehaviour{
+public class SpineGauge : MonoBehaviour {
 
 
+	#region Inspector
 	[Range(0,1)]
 	[Range(0,1)]
-	public float fill = 0;
+	public float fillPercent = 0;
 
 
 	[SpineAnimation]
 	[SpineAnimation]
 	public string fillAnimationName;
 	public string fillAnimationName;
-	Spine.Animation fillAnimation;
+	#endregion
 
 
 	SkeletonRenderer skeletonRenderer;
 	SkeletonRenderer skeletonRenderer;
+	Spine.Animation fillAnimation;
 
 
-	void Start () {
+	void Awake () {
 		skeletonRenderer = GetComponent<SkeletonRenderer>();
 		skeletonRenderer = GetComponent<SkeletonRenderer>();
+
 	}
 	}
 
 
 	void Update () {
 	void Update () {
-		
-		var skeleton = skeletonRenderer.skeleton;
+		SetGaugePercent(fillPercent);
+	}
 
 
-		if (skeleton == null)
-			return;
+	public void SetGaugePercent (float x) {
+		if (skeletonRenderer == null) return;
+		var skeleton = skeletonRenderer.skeleton; if (skeleton == null) return;
 
 
+		// Make super-sure that fillAnimation isn't null. Early exit if it is.
 		if (fillAnimation == null) {
 		if (fillAnimation == null) {
 			fillAnimation = skeleton.Data.FindAnimation(fillAnimationName);
 			fillAnimation = skeleton.Data.FindAnimation(fillAnimationName);
-			if (fillAnimation == null)
-				return;
+			if (fillAnimation == null) return;
 		}
 		}
+			
+		fillAnimation.Apply(skeleton, 0, x, false, null);
 
 
-		fillAnimation.Apply(skeleton, 0, fill, false, null);
 		skeleton.Update(Time.deltaTime);
 		skeleton.Update(Time.deltaTime);
 		skeleton.UpdateWorldTransform();
 		skeleton.UpdateWorldTransform();
 	}
 	}

+ 0 - 82
spine-unity/Assets/Examples/Scripts/SpineboyController.cs

@@ -1,82 +0,0 @@
-
-
-/*****************************************************************************
- * SpineboyController created by Mitch Thompson
- * Full irrevocable rights and permissions granted to Esoteric Software
-*****************************************************************************/
-using UnityEngine;
-using System.Collections;
-
-[RequireComponent(typeof(SkeletonAnimation), typeof(Rigidbody2D))]
-public class SpineboyController : MonoBehaviour {
-
-	SkeletonAnimation skeletonAnimation;
-	[SpineAnimation] public string idleAnimation = "idle";
-	[SpineAnimation] public string walkAnimation = "walk";
-	[SpineAnimation] public string runAnimation = "run";
-	[SpineAnimation] public string hitAnimation = "hit";
-	[SpineAnimation] public string deathAnimation = "death";
-	public float walkVelocity = 1;
-	public float runVelocity = 3;
-	public int hp = 10;
-	string currentAnimation = "";
-	bool hit = false;
-	bool dead = false;
-
-	void Start () {
-		skeletonAnimation = GetComponent<SkeletonAnimation>();
-	}
-
-	void Update () {
-		if (!dead) {
-			float x = Input.GetAxis("Horizontal");
-			float absX = Mathf.Abs(x);
-
-			if (!hit) {
-				if (x > 0)
-					skeletonAnimation.skeleton.FlipX = false;
-				else if (x < 0)
-						skeletonAnimation.skeleton.FlipX = true;
-
-				if (absX > 0.7f) {
-					SetAnimation(runAnimation, true);
-					GetComponent<Rigidbody2D>().velocity = new Vector2(runVelocity * Mathf.Sign(x), GetComponent<Rigidbody2D>().velocity.y);
-				} else if (absX > 0) {
-						SetAnimation(walkAnimation, true);
-						GetComponent<Rigidbody2D>().velocity = new Vector2(walkVelocity * Mathf.Sign(x), GetComponent<Rigidbody2D>().velocity.y);
-					} else {
-						SetAnimation(idleAnimation, true);
-						GetComponent<Rigidbody2D>().velocity = new Vector2(0, GetComponent<Rigidbody2D>().velocity.y);
-					}
-			} else {
-				if (skeletonAnimation.state.GetCurrent(0).Animation.Name != hitAnimation)
-					hit = false;
-			}
-		}
-	}
-
-	void SetAnimation (string anim, bool loop) {
-		if (currentAnimation != anim) {
-			skeletonAnimation.state.SetAnimation(0, anim, loop);
-			currentAnimation = anim;
-		}
-	}
-
-	void OnMouseUp () {
-
-		if (hp > 0) {
-			hp--;
-
-			if (hp == 0) {
-				SetAnimation(deathAnimation, false);
-				dead = true;
-			} else {
-				skeletonAnimation.state.SetAnimation(0, hitAnimation, false);
-				skeletonAnimation.state.AddAnimation(0, currentAnimation, true, 0);
-				GetComponent<Rigidbody2D>().velocity = new Vector2(0, GetComponent<Rigidbody2D>().velocity.y);
-				hit = true;
-			}
-
-		}
-	}
-}

BIN
spine-unity/Assets/Examples/Sound/Footstep.ogg


+ 22 - 0
spine-unity/Assets/Examples/Sound/Footstep.ogg.meta

@@ -0,0 +1,22 @@
+fileFormatVersion: 2
+guid: e885484e1bc99fb47a0ac3f6bfa586b1
+timeCreated: 1452628222
+licenseType: Free
+AudioImporter:
+  serializedVersion: 6
+  defaultSettings:
+    loadType: 0
+    sampleRateSetting: 0
+    sampleRateOverride: 44100
+    compressionFormat: 1
+    quality: 0.9
+    conversionMode: 0
+  platformSettingOverrides: {}
+  forceToMono: 0
+  normalize: 1
+  preloadAudioData: 1
+  loadInBackground: 0
+  3D: 1
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
spine-unity/Assets/Examples/Sound/Footstep.wav


+ 0 - 12
spine-unity/Assets/Examples/Sound/Footstep.wav.meta

@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: c34d92bb58dd1a14db9e89d6188087ea
-AudioImporter:
-  serializedVersion: 4
-  format: -1
-  quality: .5
-  stream: 1
-  3D: 0
-  forceToMono: 0
-  useHardware: 0
-  loopable: 0
-  userData: 

BIN
spine-unity/Assets/Examples/Sound/Hardfall.ogg


+ 22 - 0
spine-unity/Assets/Examples/Sound/Hardfall.ogg.meta

@@ -0,0 +1,22 @@
+fileFormatVersion: 2
+guid: 532e417ffa3f95747908419a00be3780
+timeCreated: 1452621190
+licenseType: Free
+AudioImporter:
+  serializedVersion: 6
+  defaultSettings:
+    loadType: 0
+    sampleRateSetting: 0
+    sampleRateOverride: 44100
+    compressionFormat: 1
+    quality: 1
+    conversionMode: 0
+  platformSettingOverrides: {}
+  forceToMono: 0
+  normalize: 1
+  preloadAudioData: 1
+  loadInBackground: 0
+  3D: 1
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
spine-unity/Assets/Examples/Sound/Hardfall.wav


+ 0 - 12
spine-unity/Assets/Examples/Sound/Hardfall.wav.meta

@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: cf832d4a857c27545bff51681de106c0
-AudioImporter:
-  serializedVersion: 4
-  format: -1
-  quality: .5
-  stream: 1
-  3D: 0
-  forceToMono: 0
-  useHardware: 0
-  loopable: 0
-  userData: 

BIN
spine-unity/Assets/Examples/Sound/Jump.ogg


+ 22 - 0
spine-unity/Assets/Examples/Sound/Jump.ogg.meta

@@ -0,0 +1,22 @@
+fileFormatVersion: 2
+guid: 51f0c54706b53c14c9c24bbd63bb18a6
+timeCreated: 1452620503
+licenseType: Free
+AudioImporter:
+  serializedVersion: 6
+  defaultSettings:
+    loadType: 0
+    sampleRateSetting: 0
+    sampleRateOverride: 44100
+    compressionFormat: 1
+    quality: 1
+    conversionMode: 0
+  platformSettingOverrides: {}
+  forceToMono: 0
+  normalize: 1
+  preloadAudioData: 1
+  loadInBackground: 0
+  3D: 1
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
spine-unity/Assets/Examples/Sound/Jump.wav


+ 0 - 12
spine-unity/Assets/Examples/Sound/Jump.wav.meta

@@ -1,12 +0,0 @@
-fileFormatVersion: 2
-guid: 9afdb740ae0deb74a8906a353b597a03
-AudioImporter:
-  serializedVersion: 4
-  format: -1
-  quality: .5
-  stream: 1
-  3D: 0
-  forceToMono: 0
-  useHardware: 0
-  loopable: 0
-  userData: 

BIN
spine-unity/Assets/Examples/Sound/Spineboygun.ogg


+ 22 - 0
spine-unity/Assets/Examples/Sound/Spineboygun.ogg.meta

@@ -0,0 +1,22 @@
+fileFormatVersion: 2
+guid: e986056f914f4974896a49527ca80041
+timeCreated: 1452601827
+licenseType: Free
+AudioImporter:
+  serializedVersion: 6
+  defaultSettings:
+    loadType: 0
+    sampleRateSetting: 0
+    sampleRateOverride: 44100
+    compressionFormat: 1
+    quality: 1
+    conversionMode: 0
+  platformSettingOverrides: {}
+  forceToMono: 0
+  normalize: 1
+  preloadAudioData: 1
+  loadInBackground: 0
+  3D: 1
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 13 - 3
spine-unity/Assets/Examples/Spine/Dragon/dragon.png.meta

@@ -1,5 +1,7 @@
 fileFormatVersion: 2
 fileFormatVersion: 2
 guid: 6bc52290ef03f2846ba38d67e2823598
 guid: 6bc52290ef03f2846ba38d67e2823598
+timeCreated: 1455501336
+licenseType: Free
 TextureImporter:
 TextureImporter:
   fileIDToRecycleName: {}
   fileIDToRecycleName: {}
   serializedVersion: 2
   serializedVersion: 2
@@ -15,11 +17,14 @@ TextureImporter:
   bumpmap:
   bumpmap:
     convertToNormalMap: 0
     convertToNormalMap: 0
     externalNormalMap: 0
     externalNormalMap: 0
-    heightScale: .25
+    heightScale: 0.25
     normalMapFilter: 0
     normalMapFilter: 0
   isReadable: 0
   isReadable: 0
   grayScaleToAlpha: 0
   grayScaleToAlpha: 0
   generateCubemap: 0
   generateCubemap: 0
+  cubemapConvolution: 0
+  cubemapConvolutionSteps: 7
+  cubemapConvolutionExponent: 1.5
   seamlessCubemap: 0
   seamlessCubemap: 0
   textureFormat: -3
   textureFormat: -3
   maxTextureSize: 2048
   maxTextureSize: 2048
@@ -30,18 +35,23 @@ TextureImporter:
     wrapMode: -1
     wrapMode: -1
   nPOTScale: 1
   nPOTScale: 1
   lightmap: 0
   lightmap: 0
+  rGBM: 0
   compressionQuality: 50
   compressionQuality: 50
+  allowsAlphaSplitting: 0
   spriteMode: 0
   spriteMode: 0
   spriteExtrude: 1
   spriteExtrude: 1
   spriteMeshType: 1
   spriteMeshType: 1
   alignment: 0
   alignment: 0
-  spritePivot: {x: .5, y: .5}
+  spritePivot: {x: 0.5, y: 0.5}
   spriteBorder: {x: 0, y: 0, z: 0, w: 0}
   spriteBorder: {x: 0, y: 0, z: 0, w: 0}
   spritePixelsToUnits: 100
   spritePixelsToUnits: 100
   alphaIsTransparency: 0
   alphaIsTransparency: 0
-  textureType: -1
+  textureType: 5
   buildTargetSettings: []
   buildTargetSettings: []
   spriteSheet:
   spriteSheet:
     sprites: []
     sprites: []
+    outline: []
   spritePackingTag: 
   spritePackingTag: 
   userData: 
   userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 13 - 3
spine-unity/Assets/Examples/Spine/Dragon/dragon2.png.meta

@@ -1,5 +1,7 @@
 fileFormatVersion: 2
 fileFormatVersion: 2
 guid: 12c126994123f12468cf4c5a2684078a
 guid: 12c126994123f12468cf4c5a2684078a
+timeCreated: 1455501336
+licenseType: Free
 TextureImporter:
 TextureImporter:
   fileIDToRecycleName: {}
   fileIDToRecycleName: {}
   serializedVersion: 2
   serializedVersion: 2
@@ -15,11 +17,14 @@ TextureImporter:
   bumpmap:
   bumpmap:
     convertToNormalMap: 0
     convertToNormalMap: 0
     externalNormalMap: 0
     externalNormalMap: 0
-    heightScale: .25
+    heightScale: 0.25
     normalMapFilter: 0
     normalMapFilter: 0
   isReadable: 0
   isReadable: 0
   grayScaleToAlpha: 0
   grayScaleToAlpha: 0
   generateCubemap: 0
   generateCubemap: 0
+  cubemapConvolution: 0
+  cubemapConvolutionSteps: 7
+  cubemapConvolutionExponent: 1.5
   seamlessCubemap: 0
   seamlessCubemap: 0
   textureFormat: -3
   textureFormat: -3
   maxTextureSize: 2048
   maxTextureSize: 2048
@@ -30,18 +35,23 @@ TextureImporter:
     wrapMode: -1
     wrapMode: -1
   nPOTScale: 1
   nPOTScale: 1
   lightmap: 0
   lightmap: 0
+  rGBM: 0
   compressionQuality: 50
   compressionQuality: 50
+  allowsAlphaSplitting: 0
   spriteMode: 0
   spriteMode: 0
   spriteExtrude: 1
   spriteExtrude: 1
   spriteMeshType: 1
   spriteMeshType: 1
   alignment: 0
   alignment: 0
-  spritePivot: {x: .5, y: .5}
+  spritePivot: {x: 0.5, y: 0.5}
   spriteBorder: {x: 0, y: 0, z: 0, w: 0}
   spriteBorder: {x: 0, y: 0, z: 0, w: 0}
   spritePixelsToUnits: 100
   spritePixelsToUnits: 100
   alphaIsTransparency: 0
   alphaIsTransparency: 0
-  textureType: -1
+  textureType: 5
   buildTargetSettings: []
   buildTargetSettings: []
   spriteSheet:
   spriteSheet:
     sprites: []
     sprites: []
+    outline: []
   spritePackingTag: 
   spritePackingTag: 
   userData: 
   userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
spine-unity/Assets/Examples/Spine/Dragon/dragon_Atlas.asset


BIN
spine-unity/Assets/Examples/Spine/Dragon/dragon_dragon.mat


BIN
spine-unity/Assets/Examples/Spine/Dragon/dragon_dragon2.mat


+ 13 - 3
spine-unity/Assets/Examples/Spine/Eyes/eyes.png.meta

@@ -1,5 +1,7 @@
 fileFormatVersion: 2
 fileFormatVersion: 2
 guid: 49441e5a1682e564694545bd9b509785
 guid: 49441e5a1682e564694545bd9b509785
+timeCreated: 1455501336
+licenseType: Free
 TextureImporter:
 TextureImporter:
   fileIDToRecycleName: {}
   fileIDToRecycleName: {}
   serializedVersion: 2
   serializedVersion: 2
@@ -15,11 +17,14 @@ TextureImporter:
   bumpmap:
   bumpmap:
     convertToNormalMap: 0
     convertToNormalMap: 0
     externalNormalMap: 0
     externalNormalMap: 0
-    heightScale: .25
+    heightScale: 0.25
     normalMapFilter: 0
     normalMapFilter: 0
   isReadable: 0
   isReadable: 0
   grayScaleToAlpha: 0
   grayScaleToAlpha: 0
   generateCubemap: 0
   generateCubemap: 0
+  cubemapConvolution: 0
+  cubemapConvolutionSteps: 7
+  cubemapConvolutionExponent: 1.5
   seamlessCubemap: 0
   seamlessCubemap: 0
   textureFormat: -3
   textureFormat: -3
   maxTextureSize: 2048
   maxTextureSize: 2048
@@ -30,18 +35,23 @@ TextureImporter:
     wrapMode: -1
     wrapMode: -1
   nPOTScale: 1
   nPOTScale: 1
   lightmap: 0
   lightmap: 0
+  rGBM: 0
   compressionQuality: 50
   compressionQuality: 50
+  allowsAlphaSplitting: 0
   spriteMode: 0
   spriteMode: 0
   spriteExtrude: 1
   spriteExtrude: 1
   spriteMeshType: 1
   spriteMeshType: 1
   alignment: 0
   alignment: 0
-  spritePivot: {x: .5, y: .5}
+  spritePivot: {x: 0.5, y: 0.5}
   spriteBorder: {x: 0, y: 0, z: 0, w: 0}
   spriteBorder: {x: 0, y: 0, z: 0, w: 0}
   spritePixelsToUnits: 100
   spritePixelsToUnits: 100
   alphaIsTransparency: 0
   alphaIsTransparency: 0
-  textureType: -1
+  textureType: 5
   buildTargetSettings: []
   buildTargetSettings: []
   spriteSheet:
   spriteSheet:
     sprites: []
     sprites: []
+    outline: []
   spritePackingTag: 
   spritePackingTag: 
   userData: 
   userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
spine-unity/Assets/Examples/Spine/Eyes/eyes_Atlas.asset


BIN
spine-unity/Assets/Examples/Spine/Eyes/eyes_Material.mat


+ 13 - 3
spine-unity/Assets/Examples/Spine/FootSoldier/Equipment/Equipment.png.meta

@@ -1,5 +1,7 @@
 fileFormatVersion: 2
 fileFormatVersion: 2
 guid: ddb89f63d0296cf4f8572b0448bb6b30
 guid: ddb89f63d0296cf4f8572b0448bb6b30
+timeCreated: 1455501337
+licenseType: Free
 TextureImporter:
 TextureImporter:
   fileIDToRecycleName: {}
   fileIDToRecycleName: {}
   serializedVersion: 2
   serializedVersion: 2
@@ -15,11 +17,14 @@ TextureImporter:
   bumpmap:
   bumpmap:
     convertToNormalMap: 0
     convertToNormalMap: 0
     externalNormalMap: 0
     externalNormalMap: 0
-    heightScale: .25
+    heightScale: 0.25
     normalMapFilter: 0
     normalMapFilter: 0
   isReadable: 0
   isReadable: 0
   grayScaleToAlpha: 0
   grayScaleToAlpha: 0
   generateCubemap: 0
   generateCubemap: 0
+  cubemapConvolution: 0
+  cubemapConvolutionSteps: 7
+  cubemapConvolutionExponent: 1.5
   seamlessCubemap: 0
   seamlessCubemap: 0
   textureFormat: -3
   textureFormat: -3
   maxTextureSize: 2048
   maxTextureSize: 2048
@@ -30,18 +35,23 @@ TextureImporter:
     wrapMode: -1
     wrapMode: -1
   nPOTScale: 1
   nPOTScale: 1
   lightmap: 0
   lightmap: 0
+  rGBM: 0
   compressionQuality: 50
   compressionQuality: 50
+  allowsAlphaSplitting: 0
   spriteMode: 0
   spriteMode: 0
   spriteExtrude: 1
   spriteExtrude: 1
   spriteMeshType: 1
   spriteMeshType: 1
   alignment: 0
   alignment: 0
-  spritePivot: {x: .5, y: .5}
+  spritePivot: {x: 0.5, y: 0.5}
   spriteBorder: {x: 0, y: 0, z: 0, w: 0}
   spriteBorder: {x: 0, y: 0, z: 0, w: 0}
   spritePixelsToUnits: 100
   spritePixelsToUnits: 100
   alphaIsTransparency: 0
   alphaIsTransparency: 0
-  textureType: -1
+  textureType: 5
   buildTargetSettings: []
   buildTargetSettings: []
   spriteSheet:
   spriteSheet:
     sprites: []
     sprites: []
+    outline: []
   spritePackingTag: 
   spritePackingTag: 
   userData: 
   userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
spine-unity/Assets/Examples/Spine/FootSoldier/Equipment/Equipment_Atlas.asset


BIN
spine-unity/Assets/Examples/Spine/FootSoldier/Equipment/Equipment_Material.mat


+ 13 - 3
spine-unity/Assets/Examples/Spine/FootSoldier/FS_White.png.meta

@@ -1,5 +1,7 @@
 fileFormatVersion: 2
 fileFormatVersion: 2
 guid: 57b57f94df266f94ea0981915a4472e1
 guid: 57b57f94df266f94ea0981915a4472e1
+timeCreated: 1455501336
+licenseType: Free
 TextureImporter:
 TextureImporter:
   fileIDToRecycleName: {}
   fileIDToRecycleName: {}
   serializedVersion: 2
   serializedVersion: 2
@@ -15,11 +17,14 @@ TextureImporter:
   bumpmap:
   bumpmap:
     convertToNormalMap: 0
     convertToNormalMap: 0
     externalNormalMap: 0
     externalNormalMap: 0
-    heightScale: .25
+    heightScale: 0.25
     normalMapFilter: 0
     normalMapFilter: 0
   isReadable: 0
   isReadable: 0
   grayScaleToAlpha: 0
   grayScaleToAlpha: 0
   generateCubemap: 0
   generateCubemap: 0
+  cubemapConvolution: 0
+  cubemapConvolutionSteps: 7
+  cubemapConvolutionExponent: 1.5
   seamlessCubemap: 0
   seamlessCubemap: 0
   textureFormat: -3
   textureFormat: -3
   maxTextureSize: 2048
   maxTextureSize: 2048
@@ -30,18 +35,23 @@ TextureImporter:
     wrapMode: -1
     wrapMode: -1
   nPOTScale: 1
   nPOTScale: 1
   lightmap: 0
   lightmap: 0
+  rGBM: 0
   compressionQuality: 50
   compressionQuality: 50
+  allowsAlphaSplitting: 0
   spriteMode: 0
   spriteMode: 0
   spriteExtrude: 1
   spriteExtrude: 1
   spriteMeshType: 1
   spriteMeshType: 1
   alignment: 0
   alignment: 0
-  spritePivot: {x: .5, y: .5}
+  spritePivot: {x: 0.5, y: 0.5}
   spriteBorder: {x: 0, y: 0, z: 0, w: 0}
   spriteBorder: {x: 0, y: 0, z: 0, w: 0}
   spritePixelsToUnits: 100
   spritePixelsToUnits: 100
   alphaIsTransparency: 0
   alphaIsTransparency: 0
-  textureType: -1
+  textureType: 5
   buildTargetSettings: []
   buildTargetSettings: []
   spriteSheet:
   spriteSheet:
     sprites: []
     sprites: []
+    outline: []
   spritePackingTag: 
   spritePackingTag: 
   userData: 
   userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
spine-unity/Assets/Examples/Spine/FootSoldier/FS_White_Atlas.asset


BIN
spine-unity/Assets/Examples/Spine/FootSoldier/FS_White_Material.mat


+ 12 - 2
spine-unity/Assets/Examples/Spine/Gauge/Gauge.png.meta

@@ -1,5 +1,7 @@
 fileFormatVersion: 2
 fileFormatVersion: 2
 guid: a11301aad15ed6b4995485a02a81b132
 guid: a11301aad15ed6b4995485a02a81b132
+timeCreated: 1455501336
+licenseType: Free
 TextureImporter:
 TextureImporter:
   fileIDToRecycleName: {}
   fileIDToRecycleName: {}
   serializedVersion: 2
   serializedVersion: 2
@@ -15,11 +17,14 @@ TextureImporter:
   bumpmap:
   bumpmap:
     convertToNormalMap: 0
     convertToNormalMap: 0
     externalNormalMap: 0
     externalNormalMap: 0
-    heightScale: .25
+    heightScale: 0.25
     normalMapFilter: 0
     normalMapFilter: 0
   isReadable: 0
   isReadable: 0
   grayScaleToAlpha: 0
   grayScaleToAlpha: 0
   generateCubemap: 0
   generateCubemap: 0
+  cubemapConvolution: 0
+  cubemapConvolutionSteps: 7
+  cubemapConvolutionExponent: 1.5
   seamlessCubemap: 0
   seamlessCubemap: 0
   textureFormat: -3
   textureFormat: -3
   maxTextureSize: 2048
   maxTextureSize: 2048
@@ -30,12 +35,14 @@ TextureImporter:
     wrapMode: -1
     wrapMode: -1
   nPOTScale: 1
   nPOTScale: 1
   lightmap: 0
   lightmap: 0
+  rGBM: 0
   compressionQuality: 50
   compressionQuality: 50
+  allowsAlphaSplitting: 0
   spriteMode: 0
   spriteMode: 0
   spriteExtrude: 1
   spriteExtrude: 1
   spriteMeshType: 1
   spriteMeshType: 1
   alignment: 0
   alignment: 0
-  spritePivot: {x: .5, y: .5}
+  spritePivot: {x: 0.5, y: 0.5}
   spriteBorder: {x: 0, y: 0, z: 0, w: 0}
   spriteBorder: {x: 0, y: 0, z: 0, w: 0}
   spritePixelsToUnits: 100
   spritePixelsToUnits: 100
   alphaIsTransparency: 0
   alphaIsTransparency: 0
@@ -43,5 +50,8 @@ TextureImporter:
   buildTargetSettings: []
   buildTargetSettings: []
   spriteSheet:
   spriteSheet:
     sprites: []
     sprites: []
+    outline: []
   spritePackingTag: 
   spritePackingTag: 
   userData: 
   userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
spine-unity/Assets/Examples/Spine/Gauge/Gauge_Atlas.asset


BIN
spine-unity/Assets/Examples/Spine/Gauge/Gauge_Material.mat


+ 13 - 3
spine-unity/Assets/Examples/Spine/Goblins/goblins-mesh.png.meta

@@ -1,5 +1,7 @@
 fileFormatVersion: 2
 fileFormatVersion: 2
 guid: 803c2e614a63081439fde6276d110661
 guid: 803c2e614a63081439fde6276d110661
+timeCreated: 1455501336
+licenseType: Free
 TextureImporter:
 TextureImporter:
   fileIDToRecycleName: {}
   fileIDToRecycleName: {}
   serializedVersion: 2
   serializedVersion: 2
@@ -15,11 +17,14 @@ TextureImporter:
   bumpmap:
   bumpmap:
     convertToNormalMap: 0
     convertToNormalMap: 0
     externalNormalMap: 0
     externalNormalMap: 0
-    heightScale: .25
+    heightScale: 0.25
     normalMapFilter: 0
     normalMapFilter: 0
   isReadable: 0
   isReadable: 0
   grayScaleToAlpha: 0
   grayScaleToAlpha: 0
   generateCubemap: 0
   generateCubemap: 0
+  cubemapConvolution: 0
+  cubemapConvolutionSteps: 7
+  cubemapConvolutionExponent: 1.5
   seamlessCubemap: 0
   seamlessCubemap: 0
   textureFormat: -3
   textureFormat: -3
   maxTextureSize: 2048
   maxTextureSize: 2048
@@ -30,18 +35,23 @@ TextureImporter:
     wrapMode: -1
     wrapMode: -1
   nPOTScale: 1
   nPOTScale: 1
   lightmap: 0
   lightmap: 0
+  rGBM: 0
   compressionQuality: 50
   compressionQuality: 50
+  allowsAlphaSplitting: 0
   spriteMode: 0
   spriteMode: 0
   spriteExtrude: 1
   spriteExtrude: 1
   spriteMeshType: 1
   spriteMeshType: 1
   alignment: 0
   alignment: 0
-  spritePivot: {x: .5, y: .5}
+  spritePivot: {x: 0.5, y: 0.5}
   spriteBorder: {x: 0, y: 0, z: 0, w: 0}
   spriteBorder: {x: 0, y: 0, z: 0, w: 0}
   spritePixelsToUnits: 100
   spritePixelsToUnits: 100
   alphaIsTransparency: 0
   alphaIsTransparency: 0
-  textureType: -1
+  textureType: 5
   buildTargetSettings: []
   buildTargetSettings: []
   spriteSheet:
   spriteSheet:
     sprites: []
     sprites: []
+    outline: []
   spritePackingTag: 
   spritePackingTag: 
   userData: 
   userData: 
+  assetBundleName: 
+  assetBundleVariant: 

Some files were not shown because too many files changed in this diff