StateMachine.Update C# (CSharp) Method

Update() public method

public Update ( GameObject gameObject ) : void
gameObject GameObject
return void
    public void Update(GameObject gameObject)
    {
        State newState = mCurrState.Update(gameObject);
        if (newState != null)
        {
            mCurrState.Exit();
            mCurrState = newState;
            mCurrState.Enter();
        }
    }

Usage Example

Example #1
0
        public void CompositeStateTest()
        {
            var sm = new StateMachine();

              var s0 = CreateState("0");
              var s0States = new StateCollection();
              s0.ParallelSubStates.Add(s0States);
              sm.States.Add(s0);

              var s00 = CreateState("00");
              s0States.Add(s00);
              var s01 = CreateState("01");
              s0States.Add(s01);

              var t0 = new Transition
              {
            SourceState = s0,
            TargetState = s0,
              };
              t0.Action += (s, e) => _events = _events + "A0";

              sm.Update(TimeSpan.FromSeconds(1));
              sm.Update(TimeSpan.FromSeconds(1));
              t0.Fire();
              sm.Update(TimeSpan.FromSeconds(1));
              sm.Update(TimeSpan.FromSeconds(1));

              Assert.AreEqual("E0E00U00U0U00U0X00X0A0E0E00U00U0U00U0", _events);
        }
All Usage Examples Of StateMachine::Update