public State(int name, DeleAction enter = null, DeleAction tick = null, DeleAction leave = null) { stateName = name; actions[(int)StateState.ENTER] = enter; actions[(int)StateState.TICK] = tick; actions[(int)StateState.LEAVE] = leave; }
public void AddState(int name, DeleAction enter = null, DeleAction tick = null, DeleAction leave = null) { State state = null; if (stateMap.ContainsKey(name)) { state = stateMap[name]; if (enter != null) state.SetFunc(StateState.ENTER, enter); if (tick != null) state.SetFunc(StateState.TICK, tick); if (leave != null) state.SetFunc(StateState.LEAVE, leave); } else stateMap[name] = state = new State(name, enter, tick, leave); }
public void SetFunc(StateState state, DeleAction action) { actions[(int)state] = action; }