public IEnumerator LuckyStart(TileLucky lucky, PlayerController player) { if (!player.botController) { this.gameObject.SetActive(true); } clicked = false; bool isLucky = lucky.luckType == EnumDt.luckType.luck; icon.sprite = isLucky ? iconLuck : iconReverse; if (isLucky) { audioSource.PlayOneShot(luckyAudio); } else { audioSource.PlayOneShot(reverseAudio); } luckyDescription.text = lucky.text; if (player.botController) { yield return(player.botController.ExecuteAction(() => { clicked = true; })); } yield return(new WaitUntil(() => clicked == true)); }
public override IEnumerator OnPlayerStop(PlayerController player) { TileLucky lucky = GetLuckyCard(); yield return(luckyMenuController.LuckyStart(lucky, player)); yield return(luckyEffect.StartLucky(player, lucky)); }
public IEnumerator StartLucky(PlayerController player, TileLucky tile) { tileLucky = tile; playerController = player; switch (tile.method) { case "PayToBank": { Debug.Log("Sorte ou revez PayToBank " + tile.text); PayToBank(player, tile.value, tile.percentage); break; } case "GoTo": { Debug.Log("Sorte ou revez GOTO " + tile.tileIndex); TileController tileController = board.tileControllers.Find(n => n.index.Equals(tile.tileIndex)); GoTo(player, tileController, tile.tileName); break; } case "FreeBoat": { Debug.Log("Sorte ou revez Barquinho " + tile.text); FreeBoat(player); break; } case "ChooseProperty": { Debug.Log("Sorte ou revez Propertie " + tile.text); ChooseProperty(player); break; } case "StayAway": { player.stayAway = true; clicked = true; break; } default: { Debug.LogError("Metodo nao encontrado"); clicked = true; break; } } string msg = tile.feedbackText.Replace("[Jogador]", $"{player.name}"); player.LogMessagePlayer(msg, false); yield return(new WaitUntil(() => clicked == true)); }