/// <summary> /// 设置意图 /// </summary> /// <param name="intentEnum"></param> public void SetIntent(RascalIntentEnum intentEnum) { if (this) { StopAllCoroutines(); } this.rascalIntent = intentEnum; SetMoveStatus(true); switch (intentEnum) { case RascalIntentEnum.GoToInn: SetIntentForGoToInn(); break; case RascalIntentEnum.WaitingForReply: SetIntentForWaitingForReply(); break; case RascalIntentEnum.MakeTrouble: SetIntentForMakeTrouble(); break; case RascalIntentEnum.Fighting: SetIntentForFighting(); break; case RascalIntentEnum.ContinueMakeTrouble: SetIntentForContinueMakeTrouble(); break; case RascalIntentEnum.Leave: SetIntentForLeave(); break; } }
/// <summary> /// 设置全体意图 /// </summary> public void SetTeamIntent(RascalIntentEnum rascalIntent) { List <NpcAIRascalCpt> listNpc = NpcHandler.Instance.builderForEvent.GetRascalTeamByTeamCode(teamCode); if (rascalIntent == RascalIntentEnum.Leave) { SceneInnManager sceneInnManager = GameScenesHandler.Instance.manager.GetSceneManager <SceneInnManager>(); leavePosition = sceneInnManager.GetRandomSceneExportPosition(); } foreach (NpcAIRascalCpt itemNpc in listNpc) { itemNpc.leavePosition = leavePosition; itemNpc.SetIntent(rascalIntent); } }