public void SetAction(AnimAction action) { switch (action) { case AnimAction.Attack01: _animCtrl.Attack01(); break; case AnimAction.Attack02: _animCtrl.Attack02(); break; case AnimAction.Attack03: _animCtrl.Attack03(); break; case AnimAction.Idle: _animCtrl.Idle02(); break; case AnimAction.Die: _animCtrl.Die(); break; case AnimAction.Hit: _animCtrl.GetHit(); break; default: break; } }
protected override void Initialize(AnimAction action) { base.Initialize(action); Action = action; mReplay = false; mInitilizeUpdate = true; if (Action is AnimActionUseSkill) { AnimName = (this.Action as AnimActionUseSkill).AnimName; mActionLoop = (Action as AnimActionUseSkill).loop; } if (this.AnimName == null) { this.Action.SetFailed(); this.Release(); } else { AnimatorStateInfo info = mAnimator.Anim.GetCurrentAnimatorStateInfo((int)AnimationLayer.BaseLayer); if (info.IsName(AnimName)) { mAnimator.Anim.Play(AnimName, (int)AnimationLayer.BaseLayer, 0); } SetTransition(AnimName); } }
public override void Reset() { LookAtTarget = false; Action.SetSuccess(); Action = null; base.Reset(); }
protected override void Initialize(AnimAction action) { base.Initialize(action); Action = action; if (Action is AnimActionPlayAnim) { this.AnimName = (this.Action as AnimActionPlayAnim).AnimName; this.LookAtTarget = false; } if (this.AnimName == null) { this.Action.SetFailed(); this.Action = null; this.Release(); } else { this.RotationOk = true; SwitchState(this.AnimName, (int)AnimationLayer.BaseLayer); //CrossFade(this.AnimName, 0.1f, PlayMode.StopAll); //if (base.Animation[this.AnimName].wrapMode == WrapMode.Loop) //{ // this.EndOfStateTime = 100000f + Time.timeSinceLevelLoad; //} //else //{ // this.EndOfStateTime = (base.Animation[this.AnimName].length + Time.timeSinceLevelLoad) - 0.3f; //} } }
public override void OnDeactivate() { LookAtTarget = false; Action.SetSuccess(); Action = null; base.OnDeactivate(); }
protected override void Initialize(AnimAction action) { base.Initialize(action); Action = action; if (Action is AnimActionHurt) { AnimName = (this.Action as AnimActionHurt).AnimName; } if (action == null) { return; } if (AnimName == null) { if (Action != null) { Action.SetFailed(); Action = null; } Release(); } else { //if(Owner is Npc) // Debug.Log(AnimName + "被鸡动作"); SwitchToHurtState(mAnimator.Property.GetStateHash(AnimName), Animator.StringToHash(AnimName)); } }
public IEnumerator Play(PlayerController controller, Character character, AnimAction action) { character.anim.enabled = false; controller.canAttack = false; controller.canJump = false; controller.canMove = false; foreach (var frame in frames) { character.spriteRenderer.sprite = frame.sprite; foreach (var hitBox in frame.colliders) { hitBox.collider2D.enabled = true; } yield return(new WaitForFixedUpdate()); foreach (var hitBox in frame.colliders) { hitBox.collider2D.enabled = false; } } character.anim.enabled = true; controller.canAttack = true; controller.canJump = true; controller.canMove = true; }
private void SetActions() { List <string> actionAnimList = new List <string> (); for (int i = 0; i < 4; i++) { actionAnimList.Add("Atk_Melee_0" + i + "a"); } melee = new AnimAction(actionAnimList, 2.12f); // actionAnimList = new List<string> (); // for(int i = 0; i < 4; i++) // actionAnimList.Add ("Atk_Mid_0"+ i + "a"); // mid = new AnimAction (actionAnimList, 3.51f); actionAnimList = new List <string> (); for (int i = 0; i < 4; i++) { actionAnimList.Add("Atk_Range_0" + i + "a"); } range = new AnimAction(actionAnimList, 6f); // actionAnimList = new List<string> (); // actionAnimList.Add ("Dash_Start"); // actionAnimList.Add ("Dash_End"); // dash = new AnimAction (actionAnimList); }
protected override void Initialize(AnimAction action) { base.Initialize(action); Action = action as AnimActionDeath; deathAnim = Action.dieAnim; SetTransition(deathAnim); }
public override void OnDeactivate() { SetTransition(0); mActionLoop = false; LookAtTarget = false; Action.SetSuccess(); Action = null; base.OnDeactivate(); }
public void PlayerAnimAction(CharacterEntity character, int stateNameHash) { if (character) { AnimAction animAction = new AnimAction(); animAction.character = character; animAction.stateNameHash = stateNameHash; animAction.Execute(); } }
public void DoAction(AnimActionFactory.E_Type type, Statelayer layer = Statelayer.Normal) { if (!mHasSetup) { return; } AnimAction action = AnimActionFactory.Create(type); DoAction(action, layer); }
public override bool HandleNewAction(AnimAction action) { if (action is AnimActionDeath) { action.SetFailed(); return(true); } //屏蔽其他一切动作,这里相当于最高级 return(true); }
protected void SwitchToNewStage(AnimAction action) { if (NextAnimState != null) { CurrentAnimState.Release(); CurrentAnimState.OnDeactivate(); CurrentAnimState = NextAnimState; CurrentAnimState.OnActivate(action); NextAnimState = null; } }
public void PlayerAnimAction(CharacterEntity character, int stateNameHash, float normalizedTime) { if (character) { AnimAction animAction = new AnimAction(); animAction.character = character; animAction.stateNameHash = stateNameHash; animAction.isCrossFade = false; animAction.normalizedTime = normalizedTime; animAction.Execute(); } }
protected override void Initialize(AnimAction action) { base.Initialize(action); mInvalidState = true; PlayIdleAnim(); if (action != null) { action.SetSuccess(); } }
void ExecuteAction(GameObject obj, string failMessage, AnimAction action) { Animator anim = obj.GetComponent <Animator>(); if (anim) { action(anim); } else { Debug.LogError(obj.name + " " + failMessage + " but doesn't have an animator."); } }
public override bool HandleNewAction(AnimAction action) { if (action is AnimActionHurt) { AnimName = (action as AnimActionHurt).AnimName; Action = action; //if (Owner is Npc) // Debug.Log(AnimName + "被鸡动作"); SwitchToHurtState(mAnimator.Property.GetStateHash(AnimName), Animator.StringToHash(AnimName)); } return(true); }
public void DoAction(AnimAction action, Statelayer layer = MecanimStateController.Statelayer.Normal) { //if(mOwner is Npc) // Debug.Log(action); if (!mHasSetup) { return; } if (layer >= Statelayer.Count || action == null) { return; } mAnimStates[(uint)layer].DoAction(action); }
/// public override bool HandleNewAction(AnimAction action) { if (action is AnimActionIdle) { action.SetFailed(); return(true); } if (action is AnimActionUseSkill) { //if((action as AnimActionUseSkill).AnimName == "xiechi.sheji") //{ // //Debug.Log("休息-->射击"); //} } return(false); }
public override bool HandleNewAction(AnimAction action) { if ((action is AnimActionPlayAnim) && (this.Action != null)) { if ((action as AnimActionPlayAnim).AnimName == AnimName) { mReplay = true; } else { AnimName = (action as AnimActionPlayAnim).AnimName; mReplay = false; } action.SetFailed(); return(true); } return(false); }
public override bool HandleNewAction(AnimAction action) { if (action is AnimActionMove) { if (Action != null) { Action.SetSuccess(); } SetFinished(false); Initialize(action); return(true); } if (action is AnimActionIdle) { action.SetFailed(); SetFinished(true); return(true); } return(false); }
public bool DoAction(AnimAction action) { if (CurrentAnimState.HandleNewAction(action)) { /* * 当前状态处理了该行为 */ NextAnimState = null; return(true); } if (AnimStates.ContainsKey(action.Type)) { /* * 切换到该行为对应的状态 */ NextAnimState = AnimStates[action.Type]; SwitchToNewStage(action); return(true); } return(false); }
public override bool HandleNewAction(AnimAction action) { if ((action is AnimActionUseSkill) && (this.Action != null)) { action.SetFailed(); //Debug.Log("当前" + AnimName + "目标" + (action as AnimActionUseSkill).AnimName); if ((action as AnimActionUseSkill).AnimName == AnimName) { mReplay = true; } else { AnimName = (action as AnimActionUseSkill).AnimName; SetTransition(AnimName); } SetFinished(false); mActionLoop = (action as AnimActionUseSkill).loop; return(true); } if (action is AnimActionDeath) { //如果是死亡动作,立刻死亡 action.SetSuccess(); return(false); } if (action is AnimActionMove) { action.SetFailed(); //移动不能打断技能 return(true); } return(false); }
protected virtual void Initialize(AnimAction action) { }
/// <summary> /// 处理新行为的接收 /// </summary> /// <param name="action"></param> /// <returns></returns> public virtual bool HandleNewAction(AnimAction action) { return(false); }
public virtual void OnActivate(AnimAction action) { SetFinished(false); Initialize(action); }
public override void OnActivate(AnimAction action) { base.OnActivate(action); }
public static void Return(AnimAction action) { action.SetUnused(); m_UnusedActions[(int)action.Type].Enqueue(action); }
protected override void Initialize(AnimAction action) { base.Initialize(action); Action = action as AnimActionMove; }