public override void Initialize (bool overwrite) { if (valid && !overwrite) return; base.Initialize(overwrite); if (!valid) return; state = new Spine.AnimationState(skeletonDataAsset.GetAnimationStateData()); #if UNITY_EDITOR if (!string.IsNullOrEmpty(_animationName)) { if (Application.isPlaying) { state.SetAnimation(0, _animationName, loop); } else { // Assume SkeletonAnimation is valid for skeletonData and skeleton. Checked above. var animationObject = skeletonDataAsset.GetSkeletonData(false).FindAnimation(_animationName); if (animationObject != null) animationObject.Apply(skeleton, 0f, 0f, false, null, 1f, true, false); } Update(0); } #else if (!string.IsNullOrEmpty(_animationName)) { state.SetAnimation(0, _animationName, loop); Update(0); } #endif }
public void HandleAnimComplete(Spine.AnimationState state, int trackIndex, int loopCount) { if (!loop || (loop && loopCount == loopTimes)) { animationComplete = true; } }
/// <summary> /// Initialize this component. Attempts to load the SkeletonData and creates the internal Spine objects and buffers.</summary> /// <param name="overwrite">If set to <c>true</c>, force overwrite an already initialized object.</param> public override void Initialize(bool overwrite) { if (valid && !overwrite) { return; } base.Initialize(overwrite); if (!valid) { return; } state = new Spine.AnimationState(skeletonDataAsset.GetAnimationStateData()); wasUpdatedAfterInit = false; if (!string.IsNullOrEmpty(_animationName)) { var animationObject = skeletonDataAsset.GetSkeletonData(false).FindAnimation(_animationName); if (animationObject != null) { state.SetAnimation(0, animationObject, loop); #if UNITY_EDITOR if (!Application.isPlaying) { Update(0f); } #endif } } }
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()); }
void HandleCustomEvents(Spine.AnimationState state, int trackIndex, Spine.Event e) { var eventName = e.Data.Name; if (CustomEvents.ContainsKey(eventName)) { CustomEvents[eventName](); } }
public override void Init() { m_lastStatus = RoleStatus.None; m_animationState = m_dock.Anime.AnimationState; m_skeleton = m_dock.Anime.skeleton; m_hangAnime = m_skeleton.Data.FindAnimation(m_dock.HangAnimeName); m_moveAnime = m_skeleton.Data.FindAnimation(m_dock.MoveAnimeName); m_landAnime = m_skeleton.Data.FindAnimation(m_dock.LandAnimeName); }
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.AnimationState; skeleton = skeletonAnimation.Skeleton; StartCoroutine(DoDemoRoutine()); }
private void OnBombEnd(Spine.AnimationState state, int trackIndex) { m_stAnimation.state.End -= OnBombEnd; //xue delete //m_stBombLogic.Stop(); m_stBombLogic.BombStatus++; Object.Destroy(this.gameObject); }
private void Start() { m_hActorController.actorData.m_hAnimation = this; // 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. m_hSkeletonAnimation = GetComponent <SkeletonAnimation>(); m_hSpineAnimationState = m_hSkeletonAnimation.AnimationState; m_hSkeleton = m_hSkeletonAnimation.Skeleton; }
bool CheckAnimationState(AnimationState state) { if (state == null) { Debug.LogError("AnimationState is null"); return(false); } return(true); }
/// <summary> /// Initialize this component. Attempts to load the SkeletonData and creates the internal Spine objects and buffers.</summary> /// <param name="overwrite">If set to <c>true</c>, force overwrite an already initialized object.</param> public override void Initialize(bool overwrite) { if (valid && !overwrite) { return; } base.Initialize(overwrite); if (!valid) { return; } state = new Spine.AnimationState(skeletonDataAsset.GetAnimationStateData()); #if UNITY_EDITOR if (!string.IsNullOrEmpty(_animationName)) { if (Application.isPlaying) { TrackEntry startingTrack = TrySetAnimation(_animationName, loop); if (startingTrack != null) { Update(0); } } else { // Assume SkeletonAnimation is valid for skeletonData and skeleton. Checked above. var animationObject = skeletonDataAsset.GetSkeletonData(false).FindAnimation(_animationName); if (animationObject != null) { animationObject.PoseSkeleton(skeleton, 0f); } } } #else if (!string.IsNullOrEmpty(_animationName)) { TrackEntry startingTrack = TrySetAnimation(_animationName, loop); if (startingTrack != null) { Update(0); } } #endif #if GM2DPROJECT if (GameA.Game.GM2DGame.Instance != null) { GameA.Game.GameRun.Instance.RegistSpineSkeletonAnimation(this); } //GameA.Game.SceneManager.Instance.RegistSpineSkeletonAnimation (this); #endif }
void OnEnd(Spine.AnimationState state, int trackIndex) { if (animationName != null && animationName != "") { // Debug.Log ("MTUnity: SpineHideObserver: OnEnd animationName = " + animationName); Spine.TrackEntry te = state.GetCurrent(trackIndex); if (te != null && te.animation.name.CompareTo(animationName) == 0) { this.gameObject.SetActive(false); } } }
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.AnimationState; skeleton = skeletonAnimation.Skeleton; spineAnimationState.SetAnimation(0, runToIdleAnimationName, false); spineAnimationState.AddAnimation(0, idleAnimationName, true, 0); skeletonAnimation.SetOrder(123456); // StartCoroutine(DoDemoRoutine()); // StopCoroutine(DoDemoRoutine()); }
void SetAnimationState(int trackindex, string animationName, bool loop) { if (currentAnimationState != animationName) { if (currentAnimationState == climbAnimationName) { m_Character.ClimbCorrection(); } skeletonAnimation = GameObject.Find("PlayerAnim").GetComponent <SkeletonAnimation>(); spineAnimationState = skeletonAnimation.AnimationState; spineAnimationState.SetAnimation(0, animationName, true); currentAnimationState = animationName; } }
public void HandleAnimComplete(Spine.AnimationState state, int trackIndex) { if (idleAfter) { if (willTransform) { animChar.transform.position += transformOffset; } animChar.charState = CharState.Idle; } animationComplete = true; }
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.AnimationState; skeleton = skeletonAnimation.Skeleton; foreach (var animation in untriggeredRestState) { spineAnimationState.SetAnimation(0, animation, true); } }
//SkeletonAnimation /* * Int Value: 0 sets ghostingEnabled to false, 1 sets ghostingEnabled to true * Float Value: Values greater than 0 set the spawnRate equal the float value * String Value: Pass RGBA hex color values in to set the color property. IE: "A0FF8BFF" */ void OnEvent(Spine.AnimationState state, int trackIndex, Spine.Event e) { if (e.Data.Name == "Ghosting") { ghostingEnabled = e.Int > 0; if (e.Float > 0) { spawnRate = e.Float; } if (e.String != null) { this.color = HexToColor(e.String); } } }
private void Start() { playButton.onClick.AddListener(() => Play()); addButton.onClick.AddListener(() => Add()); clearButton.onClick.AddListener(() => Clear()); isLoopToggle.onValueChanged.AddListener(OnIsLoopedValueChanged); speedSlider.onValueChanged.AddListener(OnSpeedChanged); speedSlider.value = 100; _state = skeletalAnim.state; PopulateAnimDropdown(); }
/// <summary> /// Initialize this component. Attempts to load the SkeletonData and creates the internal Spine objects and buffers.</summary> /// <param name="overwrite">If set to <c>true</c>, force overwrite an already initialized object.</param> public override void Initialize(bool overwrite) { if (valid && !overwrite) { return; } updateCount = 0; base.Initialize(overwrite); if (!valid) { return; } state = new Spine.AnimationState(skeletonDataAsset.GetAnimationStateData()); #if UNITY_EDITOR if (!string.IsNullOrEmpty(_animationName)) { if (Application.isPlaying) { TrackEntry startingTrack = TrySetAnimation(_animationName, loop); if (startingTrack != null) { Update(0); } } else { // Assume SkeletonAnimation is valid for skeletonData and skeleton. Checked above. var animationObject = skeletonDataAsset.GetSkeletonData(false).FindAnimation(_animationName); if (animationObject != null) { animationObject.PoseSkeleton(skeleton, 0f); } } } #else if (!string.IsNullOrEmpty(_animationName)) { TrackEntry startingTrack = TrySetAnimation(_animationName, loop); if (startingTrack != null) { Update(0); } } #endif }
/// <summary> /// /// </summary> /// <param name="state"></param> /// <param name="eventType"></param> /// <param name="callback"></param> public void SetSpineEvent(Spine.AnimationState state, int eventType, LuaFunction callback) { if (state == null) { return; } if (eventType == 0) { state.Complete += delegate(Spine.TrackEntry trackEntry) { callback.Call(trackEntry); }; } else { state.Event += delegate(Spine.TrackEntry trackEntry, Spine.Event e) { callback.Call(e.Data.Name); }; } }
/// <summary> /// Initialize this component. Attempts to load the SkeletonData and creates the internal Spine objects and buffers.</summary> /// <param name="overwrite">If set to <c>true</c>, force overwrite an already initialized object.</param> public override void Initialize(bool overwrite) { if (valid && !overwrite) { return; } base.Initialize(overwrite); if (!valid) { return; } state = new Spine.AnimationState(skeletonDataAsset.GetAnimationStateData()); if (!string.IsNullOrEmpty(_animationName)) { var animationObject = skeletonDataAsset.GetSkeletonData(false).FindAnimation(_animationName); if (animationObject != null) { animationObject.PoseSkeleton(skeleton, 0f); skeleton.UpdateWorldTransform(); #if UNITY_EDITOR if (Application.isPlaying) { #endif // In Unity Editor edit mode, make this block not run. state.SetAnimation(0, animationObject, loop); #if UNITY_EDITOR } #endif } } }
public override void OnStateEnter( Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { if (!_controller) { _controller = animator.GetComponent <SpineController>(); if (!_controller) { throw new NotFoundComponentException <SpineController>(); } } if (!_skeletonAnimation) { _skeletonAnimation = animator.GetComponentInChildren <SkeletonAnimation>(); if (!_skeletonAnimation) { throw new NotFoundComponentException <SkeletonAnimation>(); } _spineAnimationState = _skeletonAnimation.state; } try { _trackEntry = _controller.PlayAnimationForState(animationClip, layer); _trackEntry.TimeScale = timeScale; _normalizedTime = 0f; } catch (KeyNotFoundException) { Debug.LogError($"{nameof(_trackEntry)} is null!"); } }
public void Initialize(bool overwrite) { if (this.IsValid && !overwrite) { return; } // Make sure none of the stuff is null if (this.skeletonDataAsset == null) { return; } var skeletonData = this.skeletonDataAsset.GetSkeletonData(false); if (skeletonData == null) { return; } if (skeletonDataAsset.atlasAssets.Length <= 0 || skeletonDataAsset.atlasAssets[0].MaterialCount <= 0) { return; } this.state = new Spine.AnimationState(skeletonDataAsset.GetAnimationStateData()); if (state == null) { Clear(); return; } this.skeleton = new Skeleton(skeletonData) { ScaleX = this.initialFlipX ? -1 : 1, ScaleY = this.initialFlipY ? -1 : 1 }; meshBuffers = new DoubleBuffered <MeshRendererBuffers.SmartMesh>(); baseTexture = skeletonDataAsset.atlasAssets[0].PrimaryMaterial.mainTexture; canvasRenderer.SetTexture(this.mainTexture); // Needed for overwriting initializations. // Set the initial Skin and Animation if (!string.IsNullOrEmpty(initialSkinName)) { skeleton.SetSkin(initialSkinName); } separatorSlots.Clear(); for (int i = 0; i < separatorSlotNames.Length; i++) { separatorSlots.Add(skeleton.FindSlot(separatorSlotNames[i])); } wasUpdatedAfterInit = false; if (!string.IsNullOrEmpty(startingAnimation)) { var animationObject = skeletonDataAsset.GetSkeletonData(false).FindAnimation(startingAnimation); if (animationObject != null) { state.SetAnimation(0, animationObject, startingLoop); #if UNITY_EDITOR if (!Application.isPlaying) { Update(0f); } #endif } } if (OnRebuild != null) { OnRebuild(this); } }
private void AnimationAwake() { skeletonAnimation = GameObject.Find("PlayerAnim").GetComponent <SkeletonAnimation>(); spineAnimationState = skeletonAnimation.AnimationState; skeleton = skeletonAnimation.Skeleton; }
void OnEnd(Spine.AnimationState state, int trackIndex) { Destroy(gameObject); }
protected abstract void HandleEvents(Spine.AnimationState state, int trackIndex, Spine.Event e);
public void Initialize(bool overwrite) { if (this.IsValid && !overwrite) { return; } // Make sure none of the stuff is null if (this.skeletonDataAsset == null) { return; } var skeletonData = this.skeletonDataAsset.GetSkeletonData(false); if (skeletonData == null) { return; } if (skeletonDataAsset.atlasAssets.Length <= 0 || skeletonDataAsset.atlasAssets[0].MaterialCount <= 0) { return; } this.state = new Spine.AnimationState(skeletonDataAsset.GetAnimationStateData()); if (state == null) { Clear(); return; } this.skeleton = new Skeleton(skeletonData) { scaleX = this.initialFlipX ? -1 : 1, scaleY = this.initialFlipY ? -1 : 1 }; meshBuffers = new DoubleBuffered <MeshRendererBuffers.SmartMesh>(); canvasRenderer.SetTexture(this.mainTexture); // Needed for overwriting initializations. // Set the initial Skin and Animation if (!string.IsNullOrEmpty(initialSkinName)) { skeleton.SetSkin(initialSkinName); } if (!string.IsNullOrEmpty(startingAnimation)) { var animationObject = skeletonDataAsset.GetSkeletonData(false).FindAnimation(startingAnimation); if (animationObject != null) { animationObject.PoseSkeleton(skeleton, 0f); skeleton.UpdateWorldTransform(); #if UNITY_EDITOR if (Application.isPlaying) { #endif // Make this block not run in Unity Editor edit mode. state.SetAnimation(0, animationObject, startingLoop); #if UNITY_EDITOR } #endif } else { startingAnimation = string.Empty; } } }
protected override void HandleEvents(Spine.AnimationState state, int trackIndex, Spine.Event e) { }