Example #1
0
 public override void OnStart()
 {
     this._state     = AvatarAttackState.Idle;
     this._timer     = this.RetryTimeOut;
     this._skillIDIx = 0;
     this._avatar.onBeHitCanceled = (Action <string>)Delegate.Combine(this._avatar.onBeHitCanceled, new Action <string>(this.AvatarBeHitCancelCallback));
 }
Example #2
0
 public override TaskStatus OnUpdate()
 {
     if (this._state == AvatarAttackState.Idle)
     {
         this._avatar.GetActiveAIController().TryUseSkill("ATK");
         this._state = AvatarAttackState.WaitingForAttackStart;
         return(TaskStatus.Running);
     }
     if (this._state == AvatarAttackState.WaitingForAttackStart)
     {
         if (this._avatar.CurrentSkillID == this.AttackSkillIDs[0])
         {
             this._state = AvatarAttackState.InAttack;
             return(TaskStatus.Running);
         }
         this._timer -= Time.deltaTime * this._avatar.TimeScale;
         if (this._timer < 0f)
         {
             return(TaskStatus.Failure);
         }
         this._avatar.GetActiveAIController().TryUseSkill("ATK");
         return(TaskStatus.Running);
     }
     if (this._state == AvatarAttackState.InAttack)
     {
         if (this._skillIDIx == (this.AttackSkillIDs.Length - 1))
         {
             if (this._avatar.CurrentSkillID == this.AttackSkillIDs[this._skillIDIx])
             {
                 return(TaskStatus.Running);
             }
             return(TaskStatus.Success);
         }
         if (this._avatar.CurrentSkillID == this.AttackSkillIDs[this._skillIDIx])
         {
             this._avatar.GetActiveAIController().TryUseSkill("ATK");
             return(TaskStatus.Running);
         }
         if (this._avatar.CurrentSkillID == this.AttackSkillIDs[this._skillIDIx + 1])
         {
             this._avatar.GetActiveAIController().TryUseSkill("ATK");
             this._skillIDIx++;
             return(TaskStatus.Running);
         }
         return(TaskStatus.Failure);
     }
     if (this._state == AvatarAttackState.BeHitCanceled)
     {
         return(TaskStatus.Failure);
     }
     return(TaskStatus.Failure);
 }
Example #3
0
 private void AvatarBeHitCancelCallback(string skillID)
 {
     this._state = AvatarAttackState.BeHitCanceled;
 }