public static BrainState Create(Actor actor, BrainStateType type) { switch (type) { case BrainStateType.CHASE: return(new KillerChase()); case BrainStateType.PATROL: return(new KillerPatrol()); case BrainStateType.WANDER: if (actor is Killer) { return(new KillerWander()); } else { return(new SurvivorWander()); } case BrainStateType.FIND_HOOK: return(new KillerFindHook()); case BrainStateType.REPAIR_GENERATOR: return(new RepairGeneratorState()); case BrainStateType.HELPLESS: return(new HelplessState()); case BrainStateType.AVOID: return(new AvoidState()); } return(null); }
public void SwitchTo(BrainStateType type) { CurrentState = BrainState.Create(Actor, type); CurrentState.Brain = this; }
public Brain(BrainStateType startState) { Memory = new Dictionary <BrainMemoryType, object>(); StartState = startState; All.Add(this); }