public bool ChangeBehaveState(GSNPCStateRemote targetState) { if (mutexState1 == targetState) { return(false); } if (mutexState1 != null) { mutexState1.LoseFocus(); } mutexState1 = targetState; if (targetState != null) { targetState.GainFocus(this.entity); } return(true); }
public void ChangeStrategy(GSNPCStrategy strategy) { currentStrategy = strategy; switch (strategy) { case GSNPCStrategy.AutoFight: ChangeBehaveState(AutoFightRemote); break; case GSNPCStrategy.Daiji: ChangeBehaveState(DaijiRemote); break; case GSNPCStrategy.Jingjie: ChangeBehaveState(JingjieRemote); break; case GSNPCStrategy.Empty: default: mutexState1 = state_empty; break; } }