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;
                }
            }
        }
    }
Beispiel #2
0
 private void Awake()
 {
     frontState = new FrontState(this);
     backState  = new BackState(this);
     rightState = new RightState(this);
     leftState  = new LeftState(this);
 }
Beispiel #3
0
    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;
    }
Beispiel #6
0
 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)));
         }
     }
 }
Beispiel #7
0
 private bool isStateValid(BackState state)
 {
     return(state.Valid && rootStateMachine.CurrentStateName.ToLower() != state.Name);
 }