コード例 #1
0
    public async void AddCustomer(bool teleport = false)
    {
        if (State != OrderStationState.Empty)
        {
            return;
        }
        State = OrderStationState.Entering;
        // Make customer visible
        Customer.Avatar.gameObject.SetActive(true);
        if (!teleport)
        {
            await Customer.Locomotion.MoveTo(_customerOrderPosition.position);
        }
        else
        {
            _customerAvatar.transform.position = _customerOrderPosition.position;
            _customerAvatar.transform.rotation = _customerOrderPosition.rotation;
        }

        // Hack so order UI does not get updated after game over.
        if (GameController.Instance.State == GameController.StateType.Playing)
        {
            var dish = GameSettings.SaladDishes[Random.Range(0, GameSettings.SaladDishes.Length)];
            Customer.PlaceOrder(dish);
            State = OrderStationState.WaitingForOrder;
        }
    }
コード例 #2
0
    public async void CustomerLeave()
    {
        Customer.RemoveOrder();
        State = OrderStationState.Leaving;
        await Customer.Locomotion.MoveTo(_customerStartPosition);

        State = OrderStationState.Empty;
    }
コード例 #3
0
 public override void Reset()
 {
     State = OrderStationState.Empty;
     Customer.Reset();
     base.Reset();
 }