Beispiel #1
0
        public static bool InstallKitchenSensors(this IRepository <IDbProperties> repository, KitchenState state, out KitchenState kitchenNewState)
        {
            var sensors      = state.Sensors;
            var dbProperties = new List <IDbProperties>();

            foreach (var sensor in sensors.ToList())
            {
                var dataTypes = new List <IDataTypes>
                {
                    new DataTypes("@kitchen", SqlDbType.NVarChar, 50, state.KitchenId, ParameterDirection.Input, false, false, ""),
                    new DataTypes("@tag", SqlDbType.NVarChar, 50, sensor.Tag, ParameterDirection.Input, false, false, ""),
                    new DataTypes("@role", SqlDbType.NVarChar, 50, sensor.Role, ParameterDirection.Input, false, false, ""),
                    new DataTypes("@sensorid", SqlDbType.UniqueIdentifier, 0, string.Empty, ParameterDirection.Output, false, false, "@sensorid")
                };
                var repos = new DbProperties("InstallKitchenSensor", dataTypes, string.Empty, true, "@sensorid", sensor.Tag);
                dbProperties.Add(repos);
            }
            var x = repository.Update(dbProperties);

            if (x > 0)
            {
                var sensorsSpec = new List <SensorSpec>();
                foreach (var sensor in sensors.ToList())
                {
                    var outputs = repository.OutPuts;
                    sensor.SensorId = outputs.ToList().FirstOrDefault(y => y.Identifier == sensor.Tag).Value;
                    sensorsSpec.Add(sensor);
                }
                kitchenNewState = new KitchenState(state.KitchenId, state.Tag, sensorsSpec);
                return(true);
            }
            kitchenNewState = state;
            return(false);
        }
Beispiel #2
0
 void Update()
 {
     if (State == KitchenState.WaitingForCollection && Customer.NumInState(CustomerState.WaitingForMeal) == 0)
     {
         State = KitchenState.WaitingForOrder;
     }
 }
    protected void Initialize()
    {
        StateBathroom = GetComponentInChildren(typeof(BathroomState)) as BathroomState;
        StateKitchen = GetComponentInChildren(typeof(KitchenState)) as KitchenState;
        StateBedroom = GetComponentInChildren(typeof(BedroomState)) as BedroomState;
        StateCloset = GetComponentInChildren(typeof(ClosetState)) as ClosetState;

        FSM = new FiniteStateMachine<MovingVoice>(this);
    }
Beispiel #4
0
    protected void Initialize()
    {
        StateBathroom = GetComponentInChildren(typeof(BathroomState)) as BathroomState;
        StateKitchen  = GetComponentInChildren(typeof(KitchenState)) as KitchenState;
        StateBedroom  = GetComponentInChildren(typeof(BedroomState)) as BedroomState;
        StateCloset   = GetComponentInChildren(typeof(ClosetState)) as ClosetState;

        FSM = new FiniteStateMachine <MovingVoice>(this);
    }
        public State GetState(string aState)
        {
            switch (aState)
            {
            case "customer":
                CustomerState.SetupCmdProcessor();
                return(CustomerState);

            case "kitchen":
                KitchenState.SetupCmdProcessor();
                return(KitchenState);

            case "foh":
                FOHState.SetupCmdProcessor();
                return(FOHState);
            }

            return(null);
        }
Beispiel #6
0
    void Interact(Waiter waiter)
    {
        interactor = waiter;

        switch (State)
        {
        case KitchenState.WaitingForOrder:
        {
            State = KitchenState.MenuVisible;
            break;
        }

        case KitchenState.WaitingForCollection:
        {
            waiter.Meal = meal;
            State       = KitchenState.WaitingForOrder;
            break;
        }
        }
    }
Beispiel #7
0
 void Start()
 {
     interactive = GetComponent <Interactive>();
     interactive.SetInteraction(Interact, ValidateInteraction);
     State = KitchenState.WaitingForOrder;
 }
Beispiel #8
0
    IEnumerator CookMeal(float seconds)
    {
        yield return(new WaitForSeconds(seconds));

        State = KitchenState.WaitingForCollection;
    }