} // end ArcherSkill1 public void DoBeforeEntering() { skillStep = SkillStep.Step1; character.audio.PlaySoundCacheForPath(id, info.soundPath); character.avatar.Play("skill3_1"); for (int i = 0; i < signArr.Length; i++) { signArr[i] = false; } // end if } // end DoBeforeEntering
} // end DoBeforeEntering public void Reason() { if (false == character.info.characterData.IsLive) { character.fsm.PerformTransition("die"); return; } // end if if (skillStep != SkillStep.End) { switch (skillStep) { default: skillStep = SkillStep.End; break; case SkillStep.Step1: if (true == character.avatar.isPlaying) { return; } // end if skillStep = SkillStep.Step2; character.avatar.Play("skill3_2"); break; case SkillStep.Step2: AnimationState state = character.avatar.GetCurrentState("skill3_2"); if (null == state || state.normalizedTime < signArr.Length) { return; } // end if skillStep = SkillStep.End; character.avatar.Play("skill3_3"); break; } // end switch return; } // end if if (false == character.avatar.isPlaying) { character.fsm.PerformTransition("wait"); } // end if } // end Reason