public override IEnumerator RunLogic() { var tempRunNum = runNum; var config = aiCharacter.attribute.npcConfig; var atype = config.GetActionBySkillId(cmd.proto.SkillAction.SkillId); yield return(new WaitForSeconds(atype.hitTime)); if (!quit && tempRunNum == runNum) { skillStateMachine.OnEvent(new MyEvent() { skillEvtType = SkillDataConfig.SkillEvent.EventTrigger }); } yield return(new WaitForSeconds(atype.totalTime - atype.hitTime)); if (!quit && tempRunNum == runNum) { aiCharacter.ChangeState(AIStateEnum.IDLE); } /* * var passTime = 0.0f; * while (!quit && passTime < holdTime) * { * passTime += Time.deltaTime; * yield return null; * } * if (!quit) * { * aiCharacter.ChangeState(AIStateEnum.IDLE); * } */ }
/// <summary> /// 创建子弹服务器通知客户端 Trigger了子弹创建 /// 播放动作帧上面的特效和事件 /// </summary> /// <returns></returns> public override IEnumerator RunLogic() { var config = aiCharacter.GetAttr().npcConfig; var atype = config.GetAction(ActionType.Attack); var tempRunNum = runNum; yield return(new WaitForSeconds(atype.hitTime)); if (!quit && tempRunNum == runNum) { skillStateMachine.OnEvent(new MyEvent() { skillEvtType = SkillDataConfig.SkillEvent.EventTrigger }); } yield return(new WaitForSeconds(atype.totalTime - atype.hitTime)); if (!quit && tempRunNum == runNum) { aiCharacter.ChangeState(AIStateEnum.IDLE); } }