示例#1
0
        protected override void Awake()
        {
            base.Awake();
            _renderer = GetComponent <MeshRenderer>();

            _tasks = new MTaskStack();

            _red   = new SimpleState(FSM, "red");
            _green = new SimpleState(FSM, "green");
            _blue  = new SimpleState(FSM, "blue");

            FSM.SetInitialState(_red);

            _red.OnEnter += state =>
            {
                _renderer.sharedMaterial.color = Color.red;
                current = "red";
            };
            _red.OnUpdate += state => { transform.Rotate(0, 45 * Time.deltaTime, 0); };

            _green.OnEnter += state =>
            {
                _renderer.sharedMaterial.color = Color.green;
                current = "green";
            };
            _green.OnUpdate += state => { transform.Rotate(45 * Time.deltaTime, 0, 0); };

            _blue.OnEnter += state =>
            {
                _renderer.sharedMaterial.color = Color.blue;
                current = "blue";
            };
            _blue.OnUpdate += state => { transform.Rotate(0, 0, 45 * Time.deltaTime); };
        }
示例#2
0
        public void EpsilonTransitions()
        {
            TestSequentialTrigger trigger      = new TestSequentialTrigger(1);
            TestAction            action       = new TestAction();
            StateMachine          stateMachine = new StateMachine();

            for (int i = 0; i < 4; i++)
            {
                var state = new SimpleState();
                action.Monitor(state);
                stateMachine.AddState(state);
            }
            action.Monitor(stateMachine);
            stateMachine.AddEntryTransition(0, null);
            stateMachine.AddExitTransition(3, null);
            stateMachine.AddTransition(0, 1, null);
            stateMachine.AddTransition(1, 2, trigger[0]);
            stateMachine.AddTransition(2, 3, null);
            stateMachine.Run();
            Assert.AreEqual(1, stateMachine.ActiveStateId);
            trigger.Run(0);
            action.CompareResults(new List <string>()
            {
                "enter: 0",
                "enter: 0", "leave: 0",
                "enter: 1", "leave: 1",
                "enter: 2", "leave: 2",
                "enter: 3", "leave: 3",
            });
            Assert.AreEqual(State.ExitStateId, stateMachine.ActiveStateId);
        }
        public void TestCreateStatesWithTransitions()
        {
            var elevator = new SimpleStateMachine();
            var floor    = 0;

            elevator["UP"] = new SimpleState()
            {
                OnEnter     = () => { Console.WriteLine("Elevator is going up!"); },
                OnUpdate    = () => { floor++; },
                transitions =
                {
                    new SimpleStateTransition(() => floor == 25, "TOP")
                }
            };

            elevator["TOP"] = new SimpleState()
            {
                OnEnter = () => { Console.WriteLine("Elevator is at the top!"); },
            };

            elevator.Change("UP");

            while (elevator.state.name != "TOP")
            {
                elevator.Update();
            }

            Assert.AreEqual(25, floor);
        }
示例#4
0
文件: Shallow.cs 项目: rezn/state.cs
		public static void Test()
		{
			var machine = new Region( "history" );

			var initial = new PseudoState( "initial", PseudoStateKind.Initial, machine );
			var shallow = new CompositeState( "shallow", machine );
			var deep = new SimpleState( "deep", machine );
			var final = new FinalState( "final", machine );

			var s1 = new SimpleState( "s1", shallow );
			var s2 = new SimpleState( "s2", shallow );

			new Transition( initial, shallow );
			new Transition( new PseudoState( "shallow", PseudoStateKind.ShallowHistory, shallow ), s1 );
			new Transition<String>( s1, s2, c => c.Equals( "move" ) );
			new Transition<String>( shallow, deep, c => c.Equals( "go deep" ) );
			new Transition<String>( deep, shallow, c => c.Equals( "go shallow" ) );
			new Transition<String>( s2, final, c => c.Equals( "end" ) );

			var state = new State();

			machine.Initialise( state );

			Trace.Assert( machine.Process( state, "move" ) );
			Trace.Assert( machine.Process( state, "go deep" ) );
			Trace.Assert( machine.Process( state, "go shallow" ) );
			Trace.Assert( !machine.Process( state, "go shallow" ) );
			Trace.Assert( machine.Process( state, "end" ) );
			Trace.Assert( machine.IsComplete( state ) );
		}
示例#5
0
 public override void Start()
 {
     setupState    = new SimpleState(SetupEnter, SetupUpdate, SetupExit, "SETUP");
     rideState     = new SimpleState(RideEnter, RideUpdate, RideExit, "RIDE");
     jumpState     = new SimpleState(JumpEnter, JumpUpdate, JumpExit, "JUMP");
     deathState    = new SimpleState(DeathEnter, DeathUpdate, DeathExit, "DEATH");
     finishedState = new SimpleState(null, null, null, "FINISHED");
 }
示例#6
0
        public SimpleState GetState()
        {
            var state = new SimpleState(Owner.OwnerDraw, Util.ScaleRectangle(Rectangle, Owner.Transform));

            state.Name = Text[1];
            Owner.OwnerDraw.AddObject(state);
            return(state);
        }
        public void ButtonsPanelBaseCreationTest()
        {
            StateMachineContextMoc _sm  = new StateMachineContextMoc();
            ButtonsPanelBase       _bpb = new ViewModel.Wizard.ButtonsPanelBase(_sm);

            Assert.IsNotNull(_bpb);
            SimpleState _ss = _sm.EnterState <SimpleState>(new SimpleViewModel());
        }
示例#8
0
        public static IState Create(string name)
        {
            IState state = new SimpleState
            {
                stateName = name
            };

            return(state);
        }
        public void TestCreateInitialStates()
        {
            var statemachine = new SimpleStateMachine();

            statemachine["BOOT"] = new SimpleState();
            statemachine.Change("BOOT");

            Assert.AreEqual("BOOT", statemachine.state.name);
        }
示例#10
0
    public SimpleState get_state(string state)
    {
        SimpleState ret = new SimpleState(CoolPropPINVOKE.AbstractState_get_state(swigCPtr, state), false);

        if (CoolPropPINVOKE.SWIGPendingException.Pending)
        {
            throw CoolPropPINVOKE.SWIGPendingException.Retrieve();
        }
        return(ret);
    }
    void Start()
    {
        //DEFINE STATES
        menuState = new SimpleState(MenuEnter, MenuUpdate, MenuExit, "[MENU]");
        gameState = new SimpleState(GameEnter, GameUpdate, GameExit, "[GAME]");
        winState  = new SimpleState(WinEnter, WinUpdate, WinExit, "[WIN]");

        // this is how you switch states!
        stateMachine.SwitchStates(menuState);
    }
示例#12
0
	void Start () 
	{
		//DEFINE STATES
		menuState = new SimpleState(MenuEnter, MenuUpdate, MenuExit, "[MENU]");
		playState = new SimpleState(PlayEnter, PlayUpdate, PlayExit, "[PLAY]");
		endState = new SimpleState(EndEnter, EndUpdate, EndExit, "[END]");

		// this is how you switch states!
		stateMachine.SwitchStates(menuState);
	}
示例#13
0
 private void CreateSimpleStatesAndMonitor(TestAction action, StateMachine m, int n)
 {
     for (int i = 0; i < n; i++)
     {
         var state = new SimpleState();
         action.Monitor(state);
         m.AddState(state);
     }
     action.Monitor(m);
 }
示例#14
0
    public virtual SimpleState get_reducing_state()
    {
        SimpleState ret = new SimpleState(CoolPropPINVOKE.AbstractState_get_reducing_state(swigCPtr), false);

        if (CoolPropPINVOKE.SWIGPendingException.Pending)
        {
            throw CoolPropPINVOKE.SWIGPendingException.Retrieve();
        }
        return(ret);
    }
示例#15
0
    void Start()
    {
        //DEFINE STATES
        menuState = new SimpleState(MenuEnter, MenuUpdate, MenuExit, "[MENU]");
        gameState = new SimpleState(GameEnter, GameUpdate, GameExit, "[GAME]");
        endState  = new SimpleState(EndEnter, EndUpdate, EndExit, "[END]");

        Setup();

        stateMachine.SwitchStates(gameState);           //TEMPORARY
    }
        public void PrintSimpleState(string devicename, SimpleState state)
        {
            switch (state)
            {
                case SimpleState.On:
                    Console.WriteLine("{0} {1}", devicename, On);
                    break;

                case SimpleState.Off:
                    Console.WriteLine("{0} {1}", devicename, Off);
                    break;
            }
        }
示例#17
0
        public void PrintSimpleState(string devicename, SimpleState state)
        {
            switch (state)
            {
            case SimpleState.On:
                Console.WriteLine("{0} {1}", devicename, On);
                break;

            case SimpleState.Off:
                Console.WriteLine("{0} {1}", devicename, Off);
                break;
            }
        }
示例#18
0
		public static void Test()
		{
			try
			{
				var main = new Region<State>( "muximise1" );

				var initial = new PseudoState<State>( "initial", PseudoStateKind.Initial, main );
				var ortho = new OrthogonalState<State>( "ortho", main );
				var simple = new SimpleState<State>( "simple", main );
				var final = new FinalState<State>( "final", main );

				var r1 = new Region<State>( "r1", ortho );
				var r2 = new Region<State>( "r2", ortho );

				var i1 = new PseudoState<State>( "initial", PseudoStateKind.ShallowHistory, r1 );
				var i2 = new PseudoState<State>( "initial", PseudoStateKind.ShallowHistory, r2 );

				var s1 = new SimpleState<State>( "s1", r1 );
				var s2 = new SimpleState<State>( "s2", r2 );

				var f1 = new FinalState<State>( "f1", r1 );
				var f2 = new FinalState<State>( "f2", r2 );

				new Transition<State>( initial, ortho );

				new Transition<State>( i1, s1 );
				new Transition<State>( i2, s2 );

				new Transition<State>( ortho, final ); // This should happen once all regions in ortho are complete?

				new Transition<State, String>( s1, f1, ( s, c ) => c == "complete1" );
				new Transition<State, String>( s2, f2, ( s, c ) => c == "complete2" );

				new Transition<State, String>( ortho, simple, ( s, c ) => c == "jump" );
				new Transition<State, String>( simple, ortho, ( s, c ) => c == "back" );

				var state = new State();

				main.Initialise( state );

				main.Process( state, "complete1" );
				main.Process( state, "complete2" );

				Trace.Assert( main.IsComplete( state ) );

			}
			catch( Exception x )
			{
				Trace.Fail( x.Message );
			}
		}
示例#19
0
    private void Awake()
    {
        stateMachine = new StateMachine();

        State greenState = new SimpleState(() =>
        {
            Debug.Log("Entered GreenState");
            stateImage.color = Color.green;
        },
                                           null,
                                           () =>
        {
            Debug.Log("Exit GreenState");
        });

        State redState = new SimpleState(() =>
        {
            Debug.Log("Exited GreenState");
            stateImage.color = Color.red;
        },
                                         null,
                                         () =>
        {
            Debug.Log("Entered RedState");
        });

        State blueState = new SimpleState(() =>
        {
            Debug.Log("Entered BlueState");
            stateImage.color = Color.blue;
        },
                                          null,
                                          () =>
        {
            Debug.Log("Exited BlueState");
        });

        greenState.Transitions.Add(new Transition(redState, () => !greenToggle.isOn && redToggle.isOn));
        greenState.Transitions.Add(new Transition(blueState, 1, () => !greenToggle.isOn && blueToggle.isOn));

        redState.Transitions.Add(new Transition(greenState, () => greenToggle.isOn));
        redState.Transitions.Add(new Transition(blueState, () => !redToggle.isOn && blueToggle.isOn));

        blueState.Transitions.Add(new Transition(greenState, () => greenToggle.isOn));
        blueState.Transitions.Add(new Transition(redState, () => !blueToggle.isOn && redToggle.isOn));

        stateMachine.CurrentState = greenState;
    }
示例#20
0
        public void SimpleStatesOnly()
        {
            TestSequentialTrigger trigger      = new TestSequentialTrigger(8);
            TestAction            action       = new TestAction();
            StateMachine          stateMachine = new StateMachine();

            for (int i = 0; i < 4; i++)
            {
                var state = new SimpleState();
                action.Monitor(state);
                stateMachine.AddState(state);
            }
            action.Monitor(stateMachine);
            stateMachine.AddEntryTransition(0, trigger[7]);
            stateMachine.AddExitTransition(1, trigger[6]);
            stateMachine.AddTransition(0, 1, trigger[0]);
            stateMachine.AddTransition(0, 3, trigger[1]);
            stateMachine.AddTransition(1, 2, trigger[4]);
            stateMachine.AddTransition(2, 0, trigger[3]);
            stateMachine.AddTransition(3, 1, trigger[5]);
            stateMachine.AddTransition(3, 2, trigger[2]);
            Assert.AreEqual(State.InvalidStateId, stateMachine.ActiveStateId);
            Assert.AreEqual("-3", stateMachine.GenerateActiveStateDescriptor());
            stateMachine.Run();
            Assert.AreEqual(State.EntryStateId, stateMachine.ActiveStateId);
            Assert.AreEqual("-2", stateMachine.GenerateActiveStateDescriptor());
            trigger.Run(7, 1, 2, 3, 0, 4, 3, 1, 5); // loop around
            Assert.AreEqual("1.-1", stateMachine.GenerateActiveStateDescriptor());
            trigger.Run(0, 1, 2, 3, 5);             // invalid triggers
            Assert.AreEqual("1.-1", stateMachine.GenerateActiveStateDescriptor());
            trigger.Run(6);                         // to the end
            Assert.AreEqual("-1", stateMachine.GenerateActiveStateDescriptor());
            action.CompareResults(new List <string>()
            {
                "enter: 0",             // outer state machine
                "enter: 0", "leave: 0", // state 0
                "enter: 3", "leave: 3",
                "enter: 2", "leave: 2",
                "enter: 0", "leave: 0",
                "enter: 1", "leave: 1",
                "enter: 2", "leave: 2",
                "enter: 0", "leave: 0",
                "enter: 3", "leave: 3",
                "enter: 1", "leave: 1",
            });
            Assert.AreEqual(State.ExitStateId, stateMachine.ActiveStateId);
        }
示例#21
0
        public async Task SimpleState_BuildRuntimeStateAndExecute()
        {
            var tracker = new TestTracker();

            var state = new SimpleState("test")
            {
                OnEnterAction    = tracker.StateEnterAction,
                OnExecuteAction  = tracker.StateExecutionAction,
                OnExitAction     = tracker.StateExitAction,
                OnCanceledAction = tracker.StateCanceledAction,
            };

            await state
            .BuildRuntimeState()
            .ExecuteAsync(CancellationToken.None);

            Assert.Equal(">test;*test;<test;", tracker.ToString());
        }
示例#22
0
        public void TransitionEvents()
        {
            StateMachine stateMachine = new StateMachine();
            SimpleState  s0 = new SimpleState(), s1 = new SimpleState();

            stateMachine.AddState(s0);
            stateMachine.AddState(s1);
            stateMachine.AddEntryTransition(0, null);
            stateMachine.AddExitTransition(1, null);
            TransitionTrigger trigger = new TransitionTrigger();

            stateMachine.AddTransition(0, 1, trigger);
            List <string> result = new List <string>();

            s0.StateLeave            += () => result.Add("leave: 0");
            s1.StateEnter            += () => result.Add("enter: 1");
            trigger.BeforeTransition += () =>
            {
                result.Add("before transition");
                Assert.AreEqual("0.-1", stateMachine.GenerateActiveStateDescriptor());
            };
            trigger.AfterTransition += () =>
            {
                result.Add("after transition");
                Assert.AreEqual("-1", stateMachine.GenerateActiveStateDescriptor());
            };
            stateMachine.Run();
            trigger.Fire();
            Assert.AreEqual(4, result.Count);
            Assert.AreEqual("before transition", result[0]);
            Assert.AreEqual("leave: 0", result[1]);
            Assert.AreEqual("enter: 1", result[2]);
            Assert.AreEqual("after transition", result[3]);

            trigger.BeforeTransition += () => trigger.StopTransition();
            result.Clear();
            stateMachine.Reset();
            stateMachine.Run();
            trigger.Fire();
            Assert.AreEqual(1, result.Count);
            Assert.AreEqual("before transition", result[0]);
        }
    void Start()
    {
        starttimer    = false;
        selected      = null;
        InitialSelect = null;
        FinalSelect   = null;
        hitResults    = new List <ARRaycastHit>();
        if (AR_camera == null)
        {
            AR_camera = Camera.main;
        }

        if (aRRaycastManager == null)
        {
            aRRaycastManager = GetComponent <ARRaycastManager>();
        }
        currentState = SimpleState.init;
        if (timeout <= 0)
        {
            timeout = timer;
        }
    }
示例#24
0
        public void MultiEdges()
        {
            StateMachine stateMachine = new StateMachine();
            SimpleState  s0 = new SimpleState(), s1 = new SimpleState();

            stateMachine.AddState(s0);
            stateMachine.AddState(s1);
            stateMachine.AddEntryTransition(0, null);
            stateMachine.AddExitTransition(1, null);
            TransitionTrigger trigger0 = new TransitionTrigger();
            TransitionTrigger trigger1 = new TransitionTrigger();

            stateMachine.AddTransition(0, 1, trigger0);
            stateMachine.AddTransition(0, 1, trigger1);

            stateMachine.Run();
            trigger0.Fire();
            Assert.AreEqual("-1", stateMachine.GenerateActiveStateDescriptor());
            stateMachine.Reset();
            stateMachine.Run();
            trigger1.Fire();
            Assert.AreEqual("-1", stateMachine.GenerateActiveStateDescriptor());
        }
示例#25
0
 public void EasyAction(SimpleState state)
 {
     Thread.Sleep(1000);
     state.StateFullVariable = 1;
 }
    // Update is called once per frame
    void Update()
    {
        if (Input.touchCount > 0)
        {
            if (touchcount < Input.touchCount)
            {
                touchcount = Input.touchCount;
            }
            Touch touch = Input.GetTouch(0);
            if ((Input.touchCount >= 2 || touchcount >= 2))
            {
                //this prevents spawning/selection and enables update during
                //as selection and spawning is updated after touch
                manipulated  = true;
                currentState = SimpleState.Manipulate;
                //scaling conditions
                if (Input.touchCount >= 2 && selected)
                {
                    if (Input.GetTouch(1).phase == TouchPhase.Began)
                    {
                        currentScale = selected.transform.localScale;
                        scaleSize    = Mathf.Abs(Vector2.Distance(Input.GetTouch(0).position, Input.GetTouch(1).position));
                    }
                    else if (Input.GetTouch(1).phase == TouchPhase.Moved || Input.GetTouch(0).phase == TouchPhase.Moved)
                    {
                        float factor = Mathf.Abs(Vector2.Distance(Input.GetTouch(0).position, Input.GetTouch(1).position)) / scaleSize;
                        selected.transform.localScale = currentScale * factor;
                    }
                }
            }
            //Update Variables for operation
            else if (touchcount == 1 && !manipulated)
            {
                switch (touch.phase)
                {
                case TouchPhase.Began:
                {
                    timer      = timeout;
                    starttimer = true;
                    Ray        ray = AR_camera.ScreenPointToRay(touch.position);
                    RaycastHit hit;
                    if (Physics.Raycast(ray, out hit, layerMask))
                    {
                        InitialSelect = hit.transform.gameObject;
                    }
                    else
                    {
                        InitialSelect = null;
                    }
                }
                break;

                case TouchPhase.Moved:
                {
                    manipulated = true;
                }
                break;

                case TouchPhase.Ended:
                {
                    finalTouchPose = touch.position;
                    Ray        ray = AR_camera.ScreenPointToRay(finalTouchPose);
                    RaycastHit hit;
                    if (Physics.Raycast(ray, out hit, layerMask))
                    {
                        FinalSelect = hit.transform.gameObject;
                    }
                    else
                    {
                        FinalSelect = null;
                    }
                }
                break;
                }
            }
            //real time updates if touchcount>1 or manipulated
            //as rotation transilation should be visible inscerrn during interaction
            else if (touchcount == 1 && manipulated)
            {
                //rotate or transilate if selected not null
                if (selected != null)
                {
                    //rotate
                    if (selected != InitialSelect)
                    {
                        if (Input.GetTouch(0).phase == TouchPhase.Moved)
                        {
                            currentState = SimpleState.Manipulate;
                            selected.transform.Rotate((new Vector3(0, 1, 0)) * RotateFactor * Input.GetTouch(0).deltaPosition.x);
                        }
                    }
                    //transilate
                    else if (selected == InitialSelect)
                    {
                        if (aRRaycastManager.Raycast(Input.GetTouch(0).position, hitResults, TrackableType.PlaneWithinPolygon))
                        {
                            currentState = SimpleState.Manipulate;
                            var pose = hitResults[0].pose;
                            selected.transform.position = pose.position;
                        }
                    }
                }
                // if no selected object go to init
                else if (selected == null)
                {
                    currentState = SimpleState.init;
                }
            }
        }
        else if (Input.touchCount == 0 && touchcount != 0)
        {
            if (!manipulated)
            {
                //spawnSelectCycle
                if (InitialSelect == FinalSelect && InitialSelect != null && selected == null)
                {
                    //selected
                    selected     = InitialSelect;
                    currentState = SimpleState.Select;
                }
                else if (InitialSelect == FinalSelect && InitialSelect != null && selected != null && InitialSelect == FinalSelect)
                {
                    //deselected
                    selected     = null;
                    currentState = SimpleState.init;
                }
                else if (InitialSelect == null && FinalSelect == null)
                {
                    //spawned
                    if (aRRaycastManager.Raycast(finalTouchPose, hitResults, TrackableType.PlaneWithinPolygon))
                    {
                        selected = null;
                        var pose = hitResults[0].pose;
                        var tmp  = Instantiate(placement, pose.position, pose.rotation);
                        tmp.layer    = layerMask;
                        currentState = SimpleState.Spawn;
                    }
                }
            }
            debugprint();
            starttimer    = false;
            touchcount    = 0;
            manipulated   = false;
            InitialSelect = null;
            FinalSelect   = null;
        }
        if (timer > 0 && starttimer)
        {
            timer = timer - Time.deltaTime;
            if (tmr != null)
            {
                tmr.text = timer.ToString();
            }
        }
        else if (!manipulated && starttimer)
        {
            currentState = SimpleState.Manipulate;
            manipulated  = true;
            if (tmr != null)
            {
                tmr.text = timer.ToString();
            }
            debugprint();
        }
    }
示例#27
0
 public override void Update(HomeOS.Hub.Platform.Views.VModuleState s)
 {
     this.state = (SimpleState)s.GetSimpleState();
     this.timestamp = s.GetTimestamp();
 }
示例#28
0
 public ModuleState(SimpleState s, DateTime t)
 {
     this.state = s;
     this.timestamp = t;
 }
示例#29
0
 public void TurnOn()
 {
     State = SimpleState.On;
 }
示例#30
0
 public void TurnOff()
 {
     State = SimpleState.Off;
 }
示例#31
0
 public void ActionIfTrue(SimpleState state)
 {
     state.StateFullVariable = 2;
 }
示例#32
0
 public void EasyActionParallel2(SimpleState state)
 {
     Thread.Sleep(700);
     state.StateFullVariableAsynch2 = 20;
 }
示例#33
0
 public void EasyActionParallel3(SimpleState state)
 {
     Thread.Sleep(1000);
     state.StateFullVariableAsynch3 = 30;
 }
    void Awake()
    {
        //Lazy Singleton
        Instance = this;

        // DontDestroyOnLoad(PauseMenuCanvas);

        //Initialize State Machine
        paused =  new SimpleState(PausedEnter, PausedUpdate, PausedExit, "[GAME-STATE] :  PAUSED");
        running = new SimpleState(RunningEnter, RunningUpdate, RunningExit, "[GAME-STATE] :  RUNNING");
        mainMenu = new SimpleState(MainMenuEnter, MainMenuUpdate, MainMenuExit, "[GAME-STATE] : MAINMENU");
        ended = new SimpleState(EndedEnter, EndedUpdate, EndedExit, "[GAME-STATE] : ENDED");
    }
示例#35
0
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SimpleState obj)
 {
     return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr);
 }
示例#36
0
 public void ParallelTestValidation(SimpleState state)
 {
     Assert.AreEqual(10, state.StateFullVariableAsynch1);
     Assert.AreEqual(20, state.StateFullVariableAsynch2);
     Assert.AreEqual(30, state.StateFullVariableAsynch3);
 }
示例#37
0
 public void EasyParallelTestValidation(SimpleState state)
 {
     Assert.AreEqual(1, state.StateFullVariable);
 }
示例#38
0
 public void ActionIfFalse(SimpleState state)
 {
     state.StateFullVariable = 3;
 }
示例#39
0
 public void EasyActionParallel1(SimpleState state)
 {
     Thread.Sleep(1200);
     state.StateFullVariableAsynch1 = 10;
 }
示例#40
0
	public void SwitchStates(SimpleState state) {
		SwitchStates(state.enter, state.update, state.exit, state.name);
	}