Ejemplo n.º 1
0
    // Use this for initialization
    void Start()
    {
        InitMinerData();

        // Hay que hacer la fsm del agente
        fsm = new FSM(gameObject, this);

        // Crear los estados en que puede estar Bob
        Mining        mining  = new Mining(this);
        DepositInBank deposit = new DepositInBank(this);
        Sleeping      sleep   = new Sleeping(this);
        Eating        eat     = new Eating(this);
        Drinking      drink   = new Drinking(this);

        // Agregar eventos a los estados
        //sleep.AddEvent(EventList.events.dinnerReady);

        // Hay que agregarlos a la FSM
        fsm.AddState(StateID.Mining, mining);
        fsm.AddState(StateID.DepositInBank, deposit);
        fsm.AddState(StateID.Sleeping, sleep);
        fsm.AddState(StateID.Eating, eat);
        fsm.AddState(StateID.Drinking, drink);

        // Indicar cual es el estado inicial
        fsm.ChangeState(StateID.Mining);

        // Activo la fsm
        fsm.Activate();
    }
Ejemplo n.º 2
0
        public async Task <Sleeping> CreateSleeping(PostSleepingDTO sleepingDTO, int babyId)
        {
            if (sleepingDTO == null)
            {
                throw new ArgumentNullException(nameof(sleepingDTO));
            }

            var babies = unitOfWork.Babies.GetAll();
            var baby   = babies.FirstOrDefault(
                baby => baby.Id == babyId);

            var sleeping = new Sleeping()
            {
                Name      = sleepingDTO.Name,
                StartTime = sleepingDTO.StartTime,
                EndTime   = sleepingDTO.EndTime,
                Notes     = sleepingDTO.Notes,
            };

            if (baby != null)
            {
                sleeping.BabyId = babyId;
                sleeping.Baby   = baby;

                unitOfWork.Sleepings.Create(sleeping);
                await unitOfWork.SaveChangesAsync();

                return(sleeping);
            }

            return(null);
        }
Ejemplo n.º 3
0
        public IActionResult OnGet(int id)
        {
            var sleeping = sleepingsService.GetSleeping(id);

            EditSleeping = sleeping;

            return(Page());
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> PutSleeping([FromRoute] Sleeping editSleeping)
        {
            var result = await sleepingsService.UpdateSleeping(editSleeping);

            if (result == null)
            {
                return(NotFound());
            }

            return(NoContent());
        }
Ejemplo n.º 5
0
    public void SetSleep(int id)
    {
        Sleeping sleeping;

        if (!StatusDic.ContainsKey(id))
        {
            sleeping = new Sleeping(id);
            StatusDic.Add(id, sleeping);
        }
        AbnormalRecorder.Add(AbnormalEnum.Sleep);
    }
Ejemplo n.º 6
0
    void MakeFSM()
    {
        fsm = new FlexFSM(gameObject);

        Mining            mining            = new Mining(this);
        Drinking          drinking          = new Drinking(this);
        Sleeping          sleeping          = new Sleeping(this);
        MakingBankDeposit makingBankDeposit = new MakingBankDeposit(this);

        fsm.AddState(StateID.Mining, mining);
        fsm.AddState(StateID.Drinking, drinking);
        fsm.AddState(StateID.Sleeping, sleeping);
        fsm.AddState(StateID.MakingBankDeposit, makingBankDeposit);

        fsm.ChangeState(StateID.Mining);

        fsm.Activate();
    }
Ejemplo n.º 7
0
        public Sleeping GetSleeping(int id)
        {
            var result = unitOfWork.Sleepings.GetAllLazyLoad(s => s.Id == id, s => s.Baby).AsNoTracking().First();

            var sleeping = new Sleeping()
            {
                Id        = result.Id,
                Name      = result.Name,
                StartTime = result.StartTime,
                EndTime   = result.EndTime,
                Notes     = result.Notes,
                BabyId    = result.BabyId,
                Baby      = new Baby
                {
                    Id = result.BabyId
                }
            };

            return(sleeping);
        }
Ejemplo n.º 8
0
    protected override void Interact()
    {
        //wake a sleeping customer up
        if (GetComponentInChildren <Sleeping>())
        {
            Sleeping           tag        = GetComponentInChildren <Sleeping>();
            CustomerController controller = tag.gameObject.GetComponent <CustomerController>();

            //change bed sprite to dirty bed
            ChangeBedSprite(false);

            controller.TransportCustomer(customerNode);
        }

        //clean bed, retrieve sheets and pajamas
        if (HasItemTransferrableChild())
        {
            Player receiver = Player.Instance;

            //retrieve the sheets and change it to a dirty item transferrable
            bool received = receiver.GetItemFrom(this, -1, content as Sheets, out List <ItemTransferrable> sheets);
            if (received)
            {
                AddDirtyTag(sheets);
            }

            //retrieve the pajamas and change it to a dirty item transferrable
            received = receiver.GetItemFrom(this, -1, _content, out List <ItemTransferrable> pajamas);
            if (received)
            {
                AddDirtyTag(pajamas);
            }

            if (!HasItemTransferrableChild())
            {
                ChangeBedSprite(true);
            }
        }
    }
Ejemplo n.º 9
0
        public async Task <Sleeping> UpdateSleeping(Sleeping editSleeping)
        {
            if (editSleeping == null)
            {
                throw new ArgumentNullException(nameof(editSleeping));
            }

            var babies = unitOfWork.Babies.GetAll();
            var baby   = babies.FirstOrDefault(
                baby => baby.Id == editSleeping.Baby.Id);

            var sleepings = unitOfWork.Sleepings.GetAll();
            var sleeping  = sleepings.FirstOrDefault(
                sleeping => sleeping.Id == editSleeping.Id);

            if (sleeping != null)
            {
                sleeping.Name      = editSleeping.Name;
                sleeping.StartTime = editSleeping.StartTime;
                sleeping.EndTime   = editSleeping.EndTime;
                sleeping.Notes     = editSleeping.Notes;
            }

            if (baby != null)
            {
                sleeping.BabyId = editSleeping.Baby.Id;
                sleeping.Baby   = baby;

                unitOfWork.Sleepings.Update(sleeping);
                await unitOfWork.SaveChangesAsync();

                return(sleeping);
            }

            return(null);
        }
Ejemplo n.º 10
0
        public async Task Send(Sleeping sleeping, User user)
        {
            var message = "Let your baby to sleep";

            await Clients.Caller.SendAsync("Receive", user, message);
        }
Ejemplo n.º 11
0
 protected virtual void OnSleeping(RenderTimer timer)
 {
     Sleeping?.Invoke(this, new FrameStageEventArgs(timer));
 }
Ejemplo n.º 12
0
        private static void BotVoid()
        {
            LocalizationController.SetLanguage(Config.language);
            while (true)
            {
                Thread.Sleep(100);
                if (Config.sleepenabled)
                {
                    Sleeping.Sleep();
                }

                if ((DateTime.Now - _lastdefinv).TotalSeconds >= 10)
                {
                    if (Config.autoupgrade)
                    {
                        Buildings.AutoUpgrade(Config.upgradeonlyfactory);
                    }

                    if (Config.autoship)
                    {
                        Outposts.ConfirmOutpost();
                        Upgradable.UpgradeUpgradable();
                        Contractor.UpgradeContractor();
                        Ships.AutoShip();
                    }

                    if (Config.collectfish)
                    {
                        FishPier.CollectFish();
                    }

                    if (Config.collectmuseum)
                    {
                        Museum.CollectMuseum();
                    }

                    if (Config.collectfactory)
                    {
                        Buildings.CollectMaterials();
                    }

                    if (Config.prodfactory)
                    {
                        Factories.ProduceFactories();
                    }

                    if (Config.finishupgrade)
                    {
                        Buildings.FinishUpgrade();
                    }

                    _lastdefinv = DateTime.Now;
                }

                if (Config.barrelhack && (DateTime.Now - _lastbarrel).TotalSeconds >= Config.barrelinterval)
                {
                    Barrels.CollectBarrel();
                    _lastbarrel = DateTime.Now;
                }
            }
        }