private void Initialize(StateSO stateSO, StateMachineController stateMachineController, Dictionary <ScriptableObject, object> stateSOControllers) { StateSO = stateSO; StateMachineController = stateMachineController; StateSOControllers = stateSOControllers; }
public State(StateSO originSO, StateMachine stateMachine, StateTransition[] transitions, StateAction[] actions) { _thisSO = originSO; _stateMachine = stateMachine; _stateTransitions = transitions; _actions = actions; }
private List <StatSO> GetStatsDesiredForState(StateSO state) { List <StatSO> stats = new List <StatSO>(); if (state.statTemplate != null) { StatSO stat = GetOrCreateStat(state.statTemplate); if (GetGoalFor(state.statTemplate) != StateSO.Goal.NoAction) { stats.Add(stat); } } for (int idx = 1; idx < state.SubStates.Length; idx++) { stats.AddRange(GetStatsDesiredForState(state.SubStates[idx])); } return(stats); }
internal Controller(StateSO originStateSO, StateTransitionController[] transitions) { state = new Model(this, originStateSO, transitions); }
internal Controller(StateSO originStateSO, StateMachineController stateMachineController, StateTransitionController[] stateTransitionControllers) { state = new Model(this, originStateSO, stateMachineController, stateTransitionControllers); }
/// <summary> /// Tests to see if this stats tracker satisfies the requirements of a state. /// </summary> /// <param name="stateTemplate">The state to test against.</param> /// <returns>True if the requirements are satisfied, otherwise false.</returns> internal bool SatisfiesState(StateSO stateTemplate) { return(!UnsatisfiedDesiredStates.Contains(stateTemplate)); }
private void Initialize(StateController stateController, StateSO originStateSO, StateTransitionController[] stateTransitionControllers) { OriginStateSO = originStateSO; StateTransitionControllers = stateTransitionControllers; }
internal Data(StateController stateController, StateSO originStateSO, StateTransitionController[] stateTransitionControllers) { Initialize(); Initialize(stateController, originStateSO, stateTransitionControllers); }