Esempio n. 1
0
 public virtual void OnAnimationEnd(AnimationEndCmd cmd)
 {
     if (this.CurOutPutAction != string.Empty && this.CurOutPutAction != cmd.actName)
     {
         return;
     }
     if (ActionStatusName.IsDieAction(this.CurActionStatus))
     {
         this.DeadAnimationEnd();
     }
     else if (DataReader <Action> .Contains(this.CurActionStatus))
     {
         if (DataReader <Action> .Get(this.CurActionStatus).loop == 0)
         {
             this.EndAnimationResetToIdle();
         }
     }
     else
     {
         if (!string.IsNullOrEmpty(this.CurActionStatus))
         {
             Debug.LogError("Action表不存在 " + this.CurActionStatus);
         }
         this.EndAnimationResetToIdle();
     }
 }
Esempio n. 2
0
 public override bool CanChangeActionTo(string newAction, bool isCheckHitMoving = true, int candidateSkillID = 0, bool isLogOpen = false)
 {
     if (string.IsNullOrEmpty(newAction) || string.IsNullOrEmpty(this.CurActionStatus))
     {
         return(true);
     }
     if ((this.GetEntity() as EntityMonster).IsComponont && !string.IsNullOrEmpty(newAction))
     {
         newAction += this.ActionStatusPostfix;
     }
     return(!this.GetEntity().IsStatic&& (!this.GetEntity().IsFixed || !XUtility.StartsWith(newAction, "run")) && (!isCheckHitMoving || !this.GetEntity().IsHitMoving || ActionStatusName.IsDieAction(newAction)) && (!isCheckHitMoving || !base.IsStraight || ActionStatusName.IsDieAction(newAction) || ActionStatusName.IsHitAction(newAction)) && (!this.GetEntity().IsEndure || !ActionStatusName.IsHitAction(newAction)) && (!this.GetEntity().IsWeak || (!ActionStatusName.IsActionCauseNormalMove(newAction) && !ActionStatusName.IsSpinAction(newAction))) && base.HasActionOrFixAction(newAction) && ((base.IsUnderCombo && base.ActionSkillComboID != 0 && base.ActionSkillComboID == candidateSkillID) || newAction == this.CurActionStatus || base.ActionPriorityTable[newAction] > base.ActionPriorityTable[this.CurActionStatus] || base.IsUnderTermination || ActionStatusName.IsIdleAction(newAction)));
 }