mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-05 23:05:01 +08:00
spine-tk2d and spine-unity updated to latest spine-csharp.
closes #120 closes #125
This commit is contained in:
parent
782bde21a0
commit
359b25d9d4
@ -214,7 +214,7 @@ namespace Spine {
|
||||
}
|
||||
|
||||
/** @return May be null. */
|
||||
public TrackEntry getCurrent (int trackIndex) {
|
||||
public TrackEntry GetCurrent (int trackIndex) {
|
||||
if (trackIndex >= tracks.Count) return null;
|
||||
return tracks[trackIndex];
|
||||
}
|
||||
|
||||
@ -30,7 +30,6 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*****************************************************************************/
|
||||
|
||||
using System;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
@ -101,7 +100,7 @@ public class SkeletonDataAssetInspector : Editor {
|
||||
|
||||
if (!Application.isPlaying) {
|
||||
if (serializedObject.ApplyModifiedProperties() ||
|
||||
(Event.current.type == EventType.ValidateCommand && Event.current.commandName == "UndoRedoPerformed")
|
||||
(UnityEngine.Event.current.type == EventType.ValidateCommand && UnityEngine.Event.current.commandName == "UndoRedoPerformed")
|
||||
) {
|
||||
asset.Clear();
|
||||
}
|
||||
|
||||
@ -30,7 +30,6 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*****************************************************************************/
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Collections.Generic;
|
||||
@ -54,15 +53,16 @@ public class SkeletonAnimation : SkeletonComponent {
|
||||
override public void UpdateSkeleton () {
|
||||
if (useAnimationName) {
|
||||
// Keep AnimationState in sync with animationName and loop fields.
|
||||
TrackEntry entry = state.GetCurrent(0);
|
||||
if (animationName == null || animationName.Length == 0) {
|
||||
if (state.Animation != null)
|
||||
state.ClearAnimation();
|
||||
} else if (state.Animation == null || animationName != state.Animation.Name) {
|
||||
if (entry != null && entry.Animation != null)
|
||||
state.Clear(0);
|
||||
} else if (entry == null || entry.Animation == null || animationName != entry.Animation.Name) {
|
||||
Spine.Animation animation = skeleton.Data.FindAnimation(animationName);
|
||||
if (animation != null)
|
||||
state.SetAnimation(animation, loop);
|
||||
}
|
||||
state.Loop = loop;
|
||||
state.SetAnimation(0, animation, loop);
|
||||
} else if (entry != null)
|
||||
entry.Loop = loop;
|
||||
}
|
||||
|
||||
// Apply the animation.
|
||||
|
||||
@ -164,7 +164,7 @@ public class SkeletonComponent : MonoBehaviour {
|
||||
if (regionAttachment == null)
|
||||
continue;
|
||||
|
||||
regionAttachment.ComputeVertices(skeleton.X, skeleton.Y, slot.Bone, vertexPositions);
|
||||
regionAttachment.ComputeWorldVertices(skeleton.X, skeleton.Y, slot.Bone, vertexPositions);
|
||||
|
||||
vertices[vertexIndex] = new Vector3(vertexPositions[RegionAttachment.X1], vertexPositions[RegionAttachment.Y1], 0);
|
||||
vertices[vertexIndex + 1] = new Vector3(vertexPositions[RegionAttachment.X4], vertexPositions[RegionAttachment.Y4], 0);
|
||||
|
||||
@ -33,6 +33,7 @@
|
||||
|
||||
using UnityEngine;
|
||||
using System.Collections;
|
||||
using Spine;
|
||||
|
||||
public class Spineboy : MonoBehaviour {
|
||||
private SkeletonAnimation skeleton;
|
||||
@ -44,7 +45,8 @@ public class Spineboy : MonoBehaviour {
|
||||
void LateUpdate() {
|
||||
if (skeleton.loop) return;
|
||||
|
||||
if (skeleton.state.Animation != null && skeleton.state.Time >= skeleton.state.Animation.Duration - 0.25) {
|
||||
TrackEntry entry = skeleton.state.GetCurrent(0);
|
||||
if (entry != null && entry.Time >= entry.Animation.Duration - 0.25) {
|
||||
skeleton.animationName = "walk";
|
||||
skeleton.loop = true;
|
||||
}
|
||||
|
||||
@ -30,7 +30,6 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*****************************************************************************/
|
||||
|
||||
using System;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
@ -97,7 +96,7 @@ public class SkeletonDataAssetInspector : Editor {
|
||||
|
||||
if (!Application.isPlaying) {
|
||||
if (serializedObject.ApplyModifiedProperties() ||
|
||||
(Event.current.type == EventType.ValidateCommand && Event.current.commandName == "UndoRedoPerformed")
|
||||
(UnityEngine.Event.current.type == EventType.ValidateCommand && UnityEngine.Event.current.commandName == "UndoRedoPerformed")
|
||||
) {
|
||||
asset.Clear();
|
||||
}
|
||||
|
||||
@ -30,7 +30,6 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*****************************************************************************/
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Collections.Generic;
|
||||
@ -54,14 +53,16 @@ public class SkeletonAnimation : SkeletonComponent {
|
||||
override public void UpdateSkeleton () {
|
||||
if (useAnimationName) {
|
||||
// Keep AnimationState in sync with animationName and loop fields.
|
||||
TrackEntry entry = state.GetCurrent(0);
|
||||
if (animationName == null || animationName.Length == 0) {
|
||||
if (state.Animation != null) state.ClearAnimation();
|
||||
} else if (state.Animation == null || animationName != state.Animation.Name) {
|
||||
if (entry != null && entry.Animation != null)
|
||||
state.Clear(0);
|
||||
} else if (entry == null || entry.Animation == null || animationName != entry.Animation.Name) {
|
||||
Spine.Animation animation = skeleton.Data.FindAnimation(animationName);
|
||||
if (animation != null)
|
||||
state.SetAnimation(animation, loop);
|
||||
}
|
||||
state.Loop = loop;
|
||||
state.SetAnimation(0, animation, loop);
|
||||
} else if (entry != null)
|
||||
entry.Loop = loop;
|
||||
}
|
||||
|
||||
// Apply the animation.
|
||||
|
||||
@ -168,7 +168,7 @@ public class SkeletonComponent : MonoBehaviour {
|
||||
if (regionAttachment == null)
|
||||
continue;
|
||||
|
||||
regionAttachment.ComputeVertices(skeleton.X, skeleton.Y, slot.Bone, vertexPositions);
|
||||
regionAttachment.ComputeWorldVertices(skeleton.X, skeleton.Y, slot.Bone, vertexPositions);
|
||||
|
||||
vertices[vertexIndex] = new Vector3(vertexPositions[RegionAttachment.X1], vertexPositions[RegionAttachment.Y1], 0);
|
||||
vertices[vertexIndex + 1] = new Vector3(vertexPositions[RegionAttachment.X4], vertexPositions[RegionAttachment.Y4], 0);
|
||||
|
||||
@ -37,12 +37,12 @@ using System.Collections;
|
||||
public class Spineboy : MonoBehaviour {
|
||||
public void Start () {
|
||||
SkeletonAnimation skeletonAnimation = GetComponent<SkeletonAnimation>();
|
||||
skeletonAnimation.state.SetAnimation("walk", true);
|
||||
skeletonAnimation.state.SetAnimation(0, "walk", true);
|
||||
}
|
||||
|
||||
public void OnMouseDown () {
|
||||
SkeletonAnimation skeletonAnimation = GetComponent<SkeletonAnimation>();
|
||||
skeletonAnimation.state.SetAnimation("jump", false);
|
||||
skeletonAnimation.state.AddAnimation("walk", true);
|
||||
skeletonAnimation.state.SetAnimation(0, "jump", false);
|
||||
skeletonAnimation.state.AddAnimation(0, "walk", true, 0);
|
||||
}
|
||||
}
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@ -150,19 +150,19 @@ namespace Spine {
|
||||
}
|
||||
|
||||
public void Start (object sender, StartEndArgs e) {
|
||||
Console.WriteLine(e.TrackIndex + " " + state.getCurrent(e.TrackIndex) + ": start");
|
||||
Console.WriteLine(e.TrackIndex + " " + state.GetCurrent(e.TrackIndex) + ": start");
|
||||
}
|
||||
|
||||
public void End (object sender, StartEndArgs e) {
|
||||
Console.WriteLine(e.TrackIndex + " " + state.getCurrent(e.TrackIndex) + ": end");
|
||||
Console.WriteLine(e.TrackIndex + " " + state.GetCurrent(e.TrackIndex) + ": end");
|
||||
}
|
||||
|
||||
public void Complete (object sender, CompleteArgs e) {
|
||||
Console.WriteLine(e.TrackIndex + " " + state.getCurrent(e.TrackIndex) + ": complete " + e.LoopCount);
|
||||
Console.WriteLine(e.TrackIndex + " " + state.GetCurrent(e.TrackIndex) + ": complete " + e.LoopCount);
|
||||
}
|
||||
|
||||
public void Event (object sender, EventTriggeredArgs e) {
|
||||
Console.WriteLine(e.TrackIndex + " " + state.getCurrent(e.TrackIndex) + ": event " + e.Event);
|
||||
Console.WriteLine(e.TrackIndex + " " + state.GetCurrent(e.TrackIndex) + ": event " + e.Event);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user