Esempio n. 1
0
 public void FakeCustomer(Kebabiste kebabiste)
 {
     if (kebabiste.money >= 500)
     {
         kebabiste.opponent.fakeCustomerInQueue = true;
         kebabiste.money -= 500;
     }
 }
Esempio n. 2
0
    public void PlayActions(Kebabiste kebabiste, KebabisteIntent kebabisteIntent)
    {
        if (!kebabiste.unableToAct)
        {
            if (kebabisteIntent != null)
            {
                switch (kebabisteIntent.action)
                {
                case Kebabiste.Action.OrderIngredient:
                    if (!kebabiste.orderedIngredients.Contains(kebabisteIntent.ingredient))
                    {
                        StartCoroutine(OrderIngredient(kebabisteIntent.ingredient, kebabiste));
                    }

                    break;

                case Kebabiste.Action.PrepareIngredient:
                    if (kebabiste.preparation == false)
                    {
                        StartCoroutine(PrepareIngredient(kebabisteIntent.ingredient, kebabiste));
                    }

                    break;

                case Kebabiste.Action.Corrupt:
                    if (kebabiste.corrupting == false)
                    {
                        StartCoroutine(Corrupt(kebabiste));
                    }

                    break;

                case Kebabiste.Action.FakeClient:
                    FakeCustomer(kebabiste);
                    break;

                case Kebabiste.Action.CreateDish:
                    if (kebabiste.serving == false)
                    {
                        StartCoroutine(CreateDish(kebabiste));
                    }

                    break;

                case Kebabiste.Action.TakeBreak:
                    StartCoroutine(TakeBreak(kebabiste));
                    break;

                case Kebabiste.Action.None:
                    break;

                default:
                    break;
                }
            }
        }
    }
Esempio n. 3
0
    public IEnumerator TakeBreak(Kebabiste kebabiste)
    {
        kebabiste.unableToAct = true;
        int cpt = 0;

        while (true)
        {
            yield return(new WaitForSeconds(1.0f));

            cpt++;
            if (cpt >= kebabiste.restTime)
            {
                break;
            }
        }
        kebabiste.stress      = 0;
        kebabiste.unableToAct = false;
    }
Esempio n. 4
0
    public IEnumerator Stun(Kebabiste kebabiste)
    {
        int cpt = 0;

        kebabiste.unableToAct = true;
        while (true)
        {
            yield return(new WaitForSeconds(1.0f));

            cpt++;
            if (cpt >= 6)
            {
                break;
            }
        }
        kebabiste.unableToAct = false;
        kebabiste.stress      = 0;
    }
Esempio n. 5
0
    public IEnumerator CreateDish(Kebabiste kebabiste)
    {
        kebabiste.serving = true;
        foreach (Ingredient ingredient in kebabiste.recipe)
        {
            if (kebabiste.ingredientsReadyToUse[ingredient] <= 0)
            {
                Debug.Log("missing " + ingredient);
                kebabiste.serving = false;
                yield break;
            }
        }
        int cpt = 0;

        while (true)
        {
            yield return(new WaitForSeconds(1.0f));

            cpt++;
            if (cpt >= kebabiste.servingTime)
            {
                break;
            }
        }
        foreach (Ingredient ingredient in kebabiste.recipe)
        {
            kebabiste.ingredientsReadyToUse[ingredient] -= 1;
        }

        kebabiste.recipe = null;

        if (!kebabiste.customers.First().isFake)
        {
            kebabiste.servedCount += 1;
            kebabiste.money       += 200;
            kebabiste.serving      = false;
        }
        else
        {
            kebabiste.stress += 20;
        }
        kebabiste.customers.Remove(kebabiste.customers.First());
        Debug.Log("CustomerServed");
    }
Esempio n. 6
0
    private async void Start()
    {
        InitPrices();
        kebabiste1 = keb1isAI ? (Kebabiste) new AgentKebabiste() : new PlayerKebabiste();
        kebabiste2 = keb2isAI ? (Kebabiste) new AgentKebabiste() : new PlayerKebabiste();

        // je trouve ça dégueulasse
        kebabiste1.opponent = kebabiste2;
        kebabiste2.opponent = kebabiste1;

        if (keb1isAI)
        {
            if (kebabiste1 is AgentKebabiste agent)
            {
                agent.ComputeIntent();
            }
        }
        else
        {
            if (kebabiste1 is PlayerKebabiste player)
            {
                player.playerInputs = playerInputs;
            }
        }

        if (keb2isAI)
        {
            if (kebabiste2 is AgentKebabiste agent)
            {
                agent.ComputeIntent();
            }
        }
        else
        {
            if (kebabiste2 is PlayerKebabiste player)
            {
                player.playerInputs = playerInputs;
            }
        }

        StartCoroutine(IncreaseStress());
    }
Esempio n. 7
0
    public IEnumerator Corrupt(Kebabiste kebabiste)
    {
        if (kebabiste.money >= 500)
        {
            kebabiste.corrupting = true;
            kebabiste.money     -= 500;
            int cpt = 0;
            kebabiste.opponent.orderingTime += 4;
            while (true)
            {
                yield return(new WaitForSeconds(1.0f));

                cpt++;
                if (cpt >= kebabiste.corruptionTime)
                {
                    break;
                }
            }

            kebabiste.opponent.orderingTime -= 4;
            kebabiste.corrupting             = false;
        }
    }
Esempio n. 8
0
    public IEnumerator PrepareIngredient(Ingredient ingredient, Kebabiste kebabiste)
    {
        int cpt = 0;

        kebabiste.preparation = true;
        while (true)
        {
            yield return(new WaitForSeconds(1.0f));

            cpt++;
            if (cpt >= kebabiste.preparationTime)
            {
                break;
            }
        }
        if (kebabiste.ingredientAmounts[ingredient] > 0)
        {
            kebabiste.ingredientAmounts[ingredient]     -= 1;
            kebabiste.ingredientsReadyToUse[ingredient] += 1;
        }

        kebabiste.preparation = false;
    }
Esempio n. 9
0
    public IEnumerator OrderIngredient(Ingredient ingredient, Kebabiste kebabiste)
    {
        int cpt = 0;

        kebabiste.orderedIngredients.Add(ingredient);
        while (true)
        {
            yield return(new WaitForSeconds(1.0f));

            cpt++;
            if (cpt >= kebabiste.orderingTime)
            {
                break;
            }
        }
        if (kebabiste.money >= ingredientPrices[ingredient])
        {
            kebabiste.money -= ingredientPrices[ingredient];
            kebabiste.ingredientAmounts[ingredient] += 5;
        }

        kebabiste.orderedIngredients.Remove(ingredient);
    }