AddState() public method

public AddState ( IStateMachineState state ) : void
state IStateMachineState
return void
Ejemplo n.º 1
0
        public static StateMachineState AddOnState(this StateMachine stateMachine)
        {
            if (stateMachine == null)
            {
                throw new ArgumentNullException(nameof(stateMachine));
            }

            return(stateMachine.AddState(BinaryStateId.On));
        }
Ejemplo n.º 2
0
        public static StateMachineState AddOffState(this StateMachine stateMachine)
        {
            if (stateMachine == null)
            {
                throw new ArgumentNullException(nameof(stateMachine));
            }

            return(stateMachine.AddState(StateMachineStateExtensions.OffStateId));
        }
Ejemplo n.º 3
0
        public static StateMachineState AddState(this StateMachine stateMachine, StatefulComponentState id)
        {
            if (stateMachine == null)
            {
                throw new ArgumentNullException(nameof(stateMachine));
            }
            if (id == null)
            {
                throw new ArgumentNullException(nameof(id));
            }

            var state = new StateMachineState(id);

            stateMachine.AddState(state);
            return(state);
        }
Ejemplo n.º 4
0
        private void SetupStateMachine(StateMachine stateMachine, IArea garden)
        {
            stateMachine.AddOffState()
                .WithActuator(garden.GetLamp(Garden.LampTerrace), BinaryStateId.Off)
                .WithActuator(garden.GetLamp(Garden.LampGarage), BinaryStateId.Off)
                .WithActuator(garden.GetLamp(Garden.LampTap), BinaryStateId.Off)
                .WithActuator(garden.GetLamp(Garden.SpotlightRoof), BinaryStateId.Off)
                .WithActuator(garden.GetLamp(Garden.LampRearArea), BinaryStateId.Off);

            stateMachine.AddState(new NamedComponentState("Te"))
                .WithActuator(garden.GetLamp(Garden.LampTerrace), BinaryStateId.On)
                .WithActuator(garden.GetLamp(Garden.LampGarage), BinaryStateId.Off)
                .WithActuator(garden.GetLamp(Garden.LampTap), BinaryStateId.Off)
                .WithActuator(garden.GetLamp(Garden.SpotlightRoof), BinaryStateId.Off)
                .WithActuator(garden.GetLamp(Garden.LampRearArea), BinaryStateId.Off);

            stateMachine.AddState(new NamedComponentState("G"))
                .WithActuator(garden.GetLamp(Garden.LampTerrace), BinaryStateId.Off)
                .WithActuator(garden.GetLamp(Garden.LampGarage), BinaryStateId.On)
                .WithActuator(garden.GetLamp(Garden.LampTap), BinaryStateId.Off)
                .WithActuator(garden.GetLamp(Garden.SpotlightRoof), BinaryStateId.Off)
                .WithActuator(garden.GetLamp(Garden.LampRearArea), BinaryStateId.Off);

            stateMachine.AddState(new NamedComponentState("W"))
                .WithActuator(garden.GetLamp(Garden.LampTerrace), BinaryStateId.Off)
                .WithActuator(garden.GetLamp(Garden.LampGarage), BinaryStateId.Off)
                .WithActuator(garden.GetLamp(Garden.LampTap), BinaryStateId.On)
                .WithActuator(garden.GetLamp(Garden.SpotlightRoof), BinaryStateId.Off)
                .WithActuator(garden.GetLamp(Garden.LampRearArea), BinaryStateId.Off);

            stateMachine.AddState(new NamedComponentState("D"))
                .WithActuator(garden.GetLamp(Garden.LampTerrace), BinaryStateId.Off)
                .WithActuator(garden.GetLamp(Garden.LampGarage), BinaryStateId.Off)
                .WithActuator(garden.GetLamp(Garden.LampTap), BinaryStateId.Off)
                .WithActuator(garden.GetLamp(Garden.SpotlightRoof), BinaryStateId.On)
                .WithActuator(garden.GetLamp(Garden.LampRearArea), BinaryStateId.Off);

            stateMachine.AddState(new NamedComponentState("Ti"))
                .WithActuator(garden.GetLamp(Garden.LampTerrace), BinaryStateId.Off)
                .WithActuator(garden.GetLamp(Garden.LampGarage), BinaryStateId.Off)
                .WithActuator(garden.GetLamp(Garden.LampTap), BinaryStateId.Off)
                .WithActuator(garden.GetLamp(Garden.SpotlightRoof), BinaryStateId.Off)
                .WithActuator(garden.GetLamp(Garden.LampRearArea), BinaryStateId.On);

            stateMachine.AddState(new NamedComponentState("G+W"))
                .WithActuator(garden.GetLamp(Garden.LampTerrace), BinaryStateId.Off)
                .WithActuator(garden.GetLamp(Garden.LampGarage), BinaryStateId.On)
                .WithActuator(garden.GetLamp(Garden.LampTap), BinaryStateId.On)
                .WithActuator(garden.GetLamp(Garden.SpotlightRoof), BinaryStateId.Off)
                .WithActuator(garden.GetLamp(Garden.LampRearArea), BinaryStateId.Off);

            stateMachine.AddState(new NamedComponentState("Te+G+W"))
                .WithActuator(garden.GetLamp(Garden.LampTerrace), BinaryStateId.On)
                .WithActuator(garden.GetLamp(Garden.LampGarage), BinaryStateId.On)
                .WithActuator(garden.GetLamp(Garden.LampTap), BinaryStateId.On)
                .WithActuator(garden.GetLamp(Garden.SpotlightRoof), BinaryStateId.Off)
                .WithActuator(garden.GetLamp(Garden.LampRearArea), BinaryStateId.Off);

            stateMachine.AddState(new NamedComponentState("Te+G+W+D+Ti"))
                .WithActuator(garden.GetLamp(Garden.LampTerrace), BinaryStateId.On)
                .WithActuator(garden.GetLamp(Garden.LampGarage), BinaryStateId.On)
                .WithActuator(garden.GetLamp(Garden.LampTap), BinaryStateId.On)
                .WithActuator(garden.GetLamp(Garden.SpotlightRoof), BinaryStateId.On)
                .WithActuator(garden.GetLamp(Garden.LampRearArea), BinaryStateId.On);
        }