示例#1
0
    void Start()
    {
        fsm = new FSMManager <Data>();

        StateBase <Data> defreezeState = new DefreezeState(fsm);

        defreezeState.AddTransition(Transition.PressFreeze, StateID.FreezeState);
        defreezeState.AddTransition(Transition.PressReset, StateID.ResetState);

        StateBase <Data> freezeState = new FreezeState(fsm);

        freezeState.AddTransition(Transition.PressDefreeze, StateID.DefreezeState);
        freezeState.AddTransition(Transition.PressReset, StateID.ResetState);

        StateBase <Data> resetState = new ResetState(fsm);

        resetState.AddTransition(Transition.PressDefreeze, StateID.DefreezeState);
        resetState.AddTransition(Transition.PressFreeze, StateID.FreezeState);


        fsm.AddState(defreezeState);
        fsm.AddState(freezeState);
        fsm.AddState(resetState);

        fsm.InitState(freezeState);
    }
示例#2
0
 public void TriggerResetUpdate(ResetState status)
 {
     if (OnResetUpdate != null)
     {
         OnResetUpdate(status);
     }
 }
示例#3
0
        /// <summary>
        /// Reads the extra OETIdentity class properties from the data reader
        /// </summary>
        /// <param name="safeDataReader">Data reader containing the additional properties</param>
        /// <param name="startIndex">Index to start reading from</param>
        protected override void ReadExtraProperties(SafeDataReader safeDataReader, ref int startIndex)
        {
            base.ReadExtraProperties(safeDataReader, ref startIndex);

            this.emailAddress   = safeDataReader.GetString(startIndex);
            this.firstTimeLogin = safeDataReader.GetBoolean(startIndex + 1);
            // Implement these columns in the Stored Procedure if you need them
            this.resetState = (ResetState)safeDataReader.GetInt32(startIndex + 2);
            // this.firstName = safeDataReader.GetString(startIndex + 3);
        }
示例#4
0
 // Start is called before the first frame update
 void Start()
 {
     sliderOfDeath.gameObject.SetActive(false);
     if (instance != null)
     {
         Destroy(gameObject);
     }
     else
     {
         instance = this;
     }
 }
示例#5
0
        void UpdatLate()
        {
            if (zmq != null)
            {
                if (zmq.getNewestData(out output))
                {
                    state = (ResetState)output.status;

                    if (state != lastState && OnResetUpdate != null)
                    {
                        OnResetUpdate(state);
                        lastState = state;
                    }
                }
            }
        }
示例#6
0
        private void SaveResetGrabbable(Transform parent, HVRGrabbable grabbable)
        {
            var clone = Instantiate(grabbable);

            clone.gameObject.SetActive(false);
            clone.gameObject.hideFlags = HideFlags.HideInHierarchy;
            var state = new ResetState()
            {
                Grabbable = grabbable,
                Clone     = clone,
                Position  = grabbable.transform.position,
                Rotation  = grabbable.transform.rotation,
                Scale     = grabbable.transform.localScale,
                Parent    = parent
            };

            _grabbableState.Add(state);
        }
示例#7
0
        protected override void SetSignal(ResetState newState)
        {
            //translate the message to the guistate enum
            if (newState == ResetState.LEFT) //lib signals left
            {
                GuiState = ResetGuiState.LEFT;
            }
            else if (newState == ResetState.RIGHT) // lib signals right
            {
                GuiState = ResetGuiState.RIGHT;
            }
            else if ((GuiState == ResetGuiState.LEFT || GuiState == ResetGuiState.RIGHT) && newState == ResetState.OFF) //lib signaled last frame, but not now. Start counting
            {
                GuiState = ResetGuiState.DONE;

                //hide done icon later
                Invoke("HideDoneIcon", FadeTimeAfterReset);
            }

            UpdateIcon();
        }
示例#8
0
        private void Awake()
        {
            _collider = GetComponent <CircleCollider2D>();

            _stateMachine = new StateMachine();
            var waitingToStartState = new IdleState();
            var moveState           = new MoveState(GetComponent <Rigidbody2D>(), stats, _collider.radius);
            var idleState           = new IdleState();
            var resetState          = new ResetState(GetComponent <Racer>());

            _stateMachine.AddTransition(waitingToStartState, idleState, () => GameStarted);
            _stateMachine.AddTransition(idleState, moveState, () => GetNearTerrain(transform.position, _collider.radius));
            _stateMachine.AddTransition(moveState, idleState, () => !GetNearTerrain(transform.position, _collider.radius));

            _stateMachine.AddTransition(idleState, resetState, IsStuck);
            _stateMachine.AddTransition(moveState, resetState, IsStuck);
            _stateMachine.AddTransition(resetState, idleState, () => true);

            _stateMachine.SetState(waitingToStartState);
            _mask = (1 << LayerMask.NameToLayer("Terrain")) | (1 << LayerMask.NameToLayer("Player")) | (1 << LayerMask.NameToLayer("Enemy"));
        }
示例#9
0
 new private void Awake()
 {
     currentMode = Mode.Default;
     brain       = GameObject.Find(BRAIN_PARTS);
     resetState  = ResetState.Instance;
 }
 abstract protected void SetSignal(ResetState newState);
示例#11
0
 /// <summary>
 /// After changing a user's password, call this to clear the Reset State
 /// </summary>
 public void ChangedPassword()
 {
     this.resetState = ResetState.Normal;
 }
示例#12
0
 void Start()
 {
     // UNDONE: Draw from deck
     Phase = new ResetState(true);
     DrawCard("TestCard");
     DrawCard("TestCard");
     DrawCard("TestCard");
     // Start GameController
     if (IsFirstPlayer) // Remove condition will make SetState called twice (Player 1 and 2 and their RPC)
         SetPhase(GameState.Type.Player1Reset);
 }
示例#13
0
    private void RpcSetPhase(byte data)
    {
        Phase.EndStateCall();
        var gameState = (GameState.Type)data;
        switch (gameState)
        {
            case GameState.Type.Player1Reset:
                Phase = new ResetState(true); break;
            case GameState.Type.Player1Draw:
                Phase = new DrawState(true); break;
            case GameState.Type.Player1Main:
                Phase = new MainState(true); break;
            case GameState.Type.Player1Atk:
                Phase = new AttackState(true); break;
            case GameState.Type.Player1Def:
                Phase = new DefenceState(true); break;
            case GameState.Type.Player1AtkCot:
                Phase = new AttackCounterState(true); break;
            case GameState.Type.Player1DefCot:
                Phase = new DefenceCounterState(true); break;
            case GameState.Type.Player1SecMain:
                Phase = new SecondMainState(true); break;
            case GameState.Type.Player2Reset:
                Phase = new ResetState(false); break;
            case GameState.Type.Player2Draw:
                Phase = new DrawState(false); break;
            case GameState.Type.Player2Main:
                Phase = new MainState(false); break;
            case GameState.Type.Player2Atk:
                Phase = new AttackState(false); break;
            case GameState.Type.Player2Def:
                Phase = new DefenceState(false); break;
            case GameState.Type.Player2AtkCot:
                Phase = new AttackCounterState(false); break;
            case GameState.Type.Player2DefCot:
                Phase = new DefenceCounterState(false); break;
            case GameState.Type.Player2SecMain:
                Phase = new SecondMainState(false); break;
        }

        GuiController.NextPhaseButton.interactable = Phase.NextPhaseClickable();
        Phase.StateCall();
    }