Exemplo n.º 1
0
 /// <summary>
 /// Освобождаем место
 /// </summary>
 public override void FreePlace()
 {
     CurFood   = null;
     _timer    = 0f;
     IsCooking = false;
     FoodPlaceUpdated?.Invoke();
 }
Exemplo n.º 2
0
        public Food ExtractFood()
        {
            Food res = CurFood;

            CurFood = null;

            FoodPlaceUpdated?.Invoke();
            return(res);
        }
Exemplo n.º 3
0
        public override bool TryPlaceFood(Food food)
        {
            if (!IsFree)
            {
                return(false);
            }

            CurFood = food;
            if (Cook && CurFood.CurStatus != (Food.FoodStatus.Overcooked))
            {
                IsCooking = true;
            }

            FoodPlaceUpdated?.Invoke();
            return(true);
        }
Exemplo n.º 4
0
        void Update()
        {
            if (IsFree || !Cook || !IsCooking)
            {
                return;
            }

            _timer += Time.deltaTime;
            switch (CurFood.CurStatus)
            {
            case Food.FoodStatus.Raw: {
                if (_timer > CookTime)
                {
                    CurFood.CookStep();
                    _timer = 0f;
                    if (OvercookTime <= 0f)
                    {
                        IsCooking = false;
                    }
                    FoodPlaceUpdated?.Invoke();
                }
                break;
            }

            case Food.FoodStatus.Cooked: {
                if (_timer > OvercookTime)
                {
                    CurFood.CookStep();
                    _timer    = 0f;
                    IsCooking = false;
                    FoodPlaceUpdated?.Invoke();
                }
                break;
            }
            }
        }