public static HunterFSMFactory GetInstance() { if (instance == null) { instance = new HunterFSMFactory(); instance.Init(); } return(instance); }
public void CharactorLeave(E_Charactor charactor) { QuestRoomSceneUIManager.GetInstance().OnlyShowMainUIOrigin(); Stack <FSMState> stateStack = CharactorFrame.GetInstance().CharaController.GetStateStack(); CharactorIdea nowChara; //여기가 너무 안좋은데. switch (charactor) { case E_Charactor.CLIENT: nowChara = CharactorFrame.GetInstance().clientIdea; if (stateStack.Contains(ClientFSMFactory.GetInstance().GetState(E_ClientState.COMMISSION_CANCEL))) { CharactorManager.GetInstance().RemoveCharactor(nowChara); break; } if (stateStack.Contains(ClientFSMFactory.GetInstance().GetState(E_ClientState.CHECK_IMPERFACT_00)) || stateStack.Contains(ClientFSMFactory.GetInstance().GetState(E_ClientState.CHECK_IMPERFACT_50)) || stateStack.Contains(ClientFSMFactory.GetInstance().GetState(E_ClientState.CHECK_IMPERFACT_80)) || stateStack.Contains(ClientFSMFactory.GetInstance().GetState(E_ClientState.CHECK_IMPERFACT_95)) || stateStack.Contains(ClientFSMFactory.GetInstance().GetState(E_ClientState.CHECK_PERFACT)) ) { ClientCommissionCheckCalculateLastincome(); CharactorManager.GetInstance().RemoveCharactor(nowChara); } break; case E_Charactor.HUNTER: nowChara = CharactorFrame.GetInstance().hunterIdea; if (stateStack.Contains(HunterFSMFactory.GetInstance().GetState(E_HunterState.INQUIRE_QUEST_CANCEL))) { CharactorManager.GetInstance().RemoveCharactor(nowChara); break; } if (stateStack.Contains(HunterFSMFactory.GetInstance().GetState(E_HunterState.HUNT_REWARD_ALL_PAYMENT)) || stateStack.Contains(HunterFSMFactory.GetInstance().GetState(E_HunterState.HUNT_REWARD_PARTIAL_PAYMENT)) || stateStack.Contains(HunterFSMFactory.GetInstance().GetState(E_HunterState.HUNT_REWARD_DENIED)) ) { CharactorManager.GetInstance().RemoveCharactor(nowChara); break; } break; } CharactorFrame.GetInstance().LeaveAnim(); Debug.Log("캐릭터 리브"); }
public override void SetupAI(FSMController cont) { cont.Setup(HunterFSMFactory.GetInstance().GetState(E_HunterState.IDLE)); }