public F3_BaseState(string name, OnEnterState onEnter, OnUpdateState onUpdate, OnExitState onExit) { m_stateName = name; m_onEnter = onEnter; m_onUpdate = onUpdate; m_onExit = onExit; }
public override void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { if (OnExitState != null) { OnExitState.Invoke(stateInfo.shortNameHash); } }
public void Tick() { if (monsterMovement.IsAtDestination()) { OnExitState?.Invoke(); } }
public override void ExitState() { // default behavior is to disable child objects // default behavior not called to persist menu sounds //base.ExitState(); OnExitState.Invoke(); }
public NetBaseState(TcpSocket parent, NETWORKSTATE netState = NETWORKSTATE.NS_NONE, OnEnterState enter = null, OnExitState exit = null) { this.parent = parent; this.netState = netState; onEnter = enter; onExit = exit; }
public virtual void ExitState() { Debug.Log("Exiting State"); for (int i = 0; i < transform.childCount; i++) { transform.GetChild(i).gameObject.SetActive(false); } OnExitState.Invoke(); }
private void InvokeOnStateChange_OnExit(string id) { if (id == this.id) { if (OnExitState != null) { OnExitState.Invoke(); } } }
public void Tick() { waitTimer += Time.deltaTime; if (pointsSearched >= investigatePoints) { OnExitState?.Invoke(); } else if (monsterMovement.IsAtDestination() && waitTimer >= waitTimeTarget) { pointsSearched += 1; GetNewTargetPoint(); } }
private void SwitchState( System.Action OnEnterStateFunction, System.Action OnUpdateStateFunction, System.Action OnExitStateFunction) { if (OnExitState != null) { OnExitState.Invoke(); } OnExitState = OnExitStateFunction; OnUpdateState = OnUpdateStateFunction; OnEnterState = OnEnterStateFunction; if (OnEnterState != null) { OnEnterState.Invoke(); } }
private IEnumerator LoadScenesCoroutine(SceneState state) { OnExitState?.Invoke(currentState, state); //Loading to Empty Scene to avoid memory bloat during cross-load AsyncOperation asyncLoad = SceneManager.LoadSceneAsync(stateList[SceneState.Empty].SceneName); while (!asyncLoad.isDone) { yield return(null); } //Actually loading new scene asyncLoad = SceneManager.LoadSceneAsync(stateList[state].SceneName, LoadSceneMode.Single); while (!asyncLoad.isDone) { yield return(null); } OnEnterState?.Invoke(currentState, state); currentState = state; }
public bool CreateState(string sName, OnEnterState enterFunc, OnUpdateState updateFunc, OnExitState exitFunc) { if (FindState(sName) != null) { // We don't want any duplicate. return false; } F3_BaseState newState = new F3_BaseState(sName, enterFunc, updateFunc, exitFunc); if (newState == null) { // Failed to Create. return false; } m_states.Add(newState); return true; }
public virtual void ExitState(FiniteStateMachine fsm, IState stateToTransition) { OnExitState?.Invoke(); }