public void FakeCustomer(Kebabiste kebabiste) { if (kebabiste.money >= 500) { kebabiste.opponent.fakeCustomerInQueue = true; kebabiste.money -= 500; } }
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; } } } }
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; }
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; }
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"); }
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()); }
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; } }
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; }
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); }