private void SetBackStatu(Transform tf, BackState state) { if (tf != null) { Transform normal = tf.Find("BackGround/BG_1"); Transform light = tf.Find("BackGround/BG_2"); Transform gray = tf.Find("BackGround/BG_3"); if (normal != null && light != null && gray != null) { switch (state) { case BackState.Normal: normal.gameObject.SetActive(true); light.gameObject.SetActive(false); gray.gameObject.SetActive(false); break; case BackState.Light: normal.gameObject.SetActive(false); light.gameObject.SetActive(true); gray.gameObject.SetActive(false); break; case BackState.Gray: normal.gameObject.SetActive(false); light.gameObject.SetActive(false); gray.gameObject.SetActive(true); break; } } } }
private void Awake() { frontState = new FrontState(this); backState = new BackState(this); rightState = new RightState(this); leftState = new LeftState(this); }
private BackState() { if (instance != null)//If an isntance of this class already exists, return { return; } instance = this; }
public void Start() { basePosition = transform.position; baseDirection = transform.rotation; rigidbody = GetComponent <Rigidbody>(); idleState = new IdleState(this); status = idleState; chaseState = new ChaseState(this); backState = new BackState(this); }
// Start is called before the first frame update void Start() { gameManager = (GameManager)FindObjectOfType(typeof(GameManager)); heartsManager = (HeartsManager)FindObjectOfType(typeof(HeartsManager)); audioManager = (AudioManager)FindObjectOfType(typeof(AudioManager)); frontState = new FrontState(this); backState = new BackState(this); flippingState = new FlippingState(this); backFlippingState = new BackFlippingState(this); hideAwayState = new HideAwayState(this); actualState = backState; }
public void OnStateChanged(string state) { if (LastStates == null) { LastStates = new Stack <BackState>(); if (!string.IsNullOrEmpty(LastStateEvent)) { LastStates.Push(new BackState(LastStateEvent, valid: true)); } } if (state == HandledState && rootStateMachine != null) { BackState backState = new BackState(string.Empty, valid: false); BackState backState2 = new BackState("unknown", valid: false); if (LastStates.Count > 0) { backState2 = LastStates.Pop(); } bool flag = false; while (!flag && LastStates.Count > 0) { backState = LastStates.Pop(); if (isStateValid(backState)) { flag = true; } } if (!flag) { backState = new BackState(LastStateEvent, valid: true); } Service.Get <ICPSwrveService>().NavigationAction("account_statemachine.back_button", backState2.Name, backState.Name); this.OnBackStateTransition.InvokeSafe(backState2.Name, backState.Name); rootStateMachine.SendEvent(backState.Name); } else { string text = state.ToLower(); if (LastStates.Count == 0 || (text != LastStates.Peek().Name&& !containsState(text))) { LastStates.Push(new BackState(text, !isStateIgnored(text))); } } }
private bool isStateValid(BackState state) { return(state.Valid && rootStateMachine.CurrentStateName.ToLower() != state.Name); }