using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI; public enum ChestRewardType { Coin, Diamond, Flower, } public class PlazaRoomChest : Chest, IPointerClickHandler { public static PlazaRoomChest CurrentChest; private int RewardAmt; private FlowerInfo FlowerInfo; private ChestRewardType RewardType; public void Guess(string inputValue) { if (RewardType == ChestRewardType.Coin) { if (RewardAmt%10 == int.Parse(inputValue)) { ManaCenter.AddCoin(RewardAmt, StaticsManager.ItemID.获得金币, StaticsManager.ConsumeModule.RoomChestAward); ManaAudio.PlayClip(Clip.CurrentClip); ManaReso.SetText("Y_Desc", $"{Language.GetStr("UI", "Y_Bingo")} {Language.GetStr("Common", "Get")}<(金币)>{RewardAmt}"); GuessSucceed(); return; } } else if (RewardType == ChestRewardType.Diamond) { if (RewardAmt%10 == int.Parse(inputValue)) { ManaCenter.AddDiamond(RewardAmt, StaticsManager.ItemID.获得钻石, StaticsManager.ConsumeModule.RoomChestAward); ManaAudio.PlayClip(Clip.CurrentClip); ManaReso.SetText("Y_Desc", $"{Language.GetStr("UI", "Y_Bingo")} {Language.GetStr("Common", "Get")}<(钻石)>{RewardAmt}"); GuessSucceed(); return; } } else if (RewardType == ChestRewardType.Flower) { if (FlowerInfo.Name == inputValue) { FlowerInfo.Add(); ManaAudio.PlayClip(Clip.CurrentClip); ManaReso.SetText("Y_Desc", $"{Language.GetStr("UI", "Y_Bingo")} {Language.GetStr("Common", "Get")}<(花朵)>{FlowerInfo.Name}"); ManaReso.Get("Y_RewardIcon2").color = Color.white; GuessSucceed(); return; } } else { throw new Exception(); } GuessFailed(); } public void GuessFailed() { ManaReso.SetText("Y_Desc", Language.GetStr("UI", "Y_WrongGusee")); SetButtonToClose(); } public void GuessSucceed() { SetButtonToClose(); } public void SetReward(ChestRewardType rewardType, string rewardValue) { RewardType = rewardType; if (RewardType == ChestRewardType.Coin || RewardType == ChestRewardType.Diamond) { RewardAmt = int.Parse(rewardValue); } else if (RewardType == ChestRewardType.Flower) { int flowerID = int.Parse(rewardValue); FlowerInfo = ManaGarden.FlowerInfoDic[flowerID]; } else { throw new Exception(); } } public override void OnPointerClick(PointerEventData eventData) { base.OnPointerClick(eventData); SetButtonToGuess(); ManaReso.Get("Y_Chest").TweenForCG(); if (RewardType == ChestRewardType.Coin) { ManaReso.SetActive("Y_RewardIcon1", true); ManaReso.SetActive("Y_RewardIcon2", false); ManaReso.Get("Y_RewardIcon1").sprite = ManaReso.LoadSprite("金币", Folder.Scene); ManaReso.SetText("Y_Desc", Language.GetStr("UI", "Y_GuessSingleNumber")); } else if (RewardType == ChestRewardType.Diamond) { ManaReso.SetActive("Y_RewardIcon1", true); ManaReso.SetActive("Y_RewardIcon2", false); ManaReso.Get("Y_RewardIcon1").sprite = ManaReso.LoadSprite("钻石", Folder.Scene); ManaReso.SetText("Y_Desc", Language.GetStr("UI", "Y_GuessSingleNumber")); } else if (RewardType == ChestRewardType.Flower) { ManaReso.SetActive("Y_RewardIcon1", false); ManaReso.SetActive("Y_RewardIcon2", true); ManaReso.Get("Y_RewardIcon2").sprite = FlowerInfo.Icon; ManaReso.Get("Y_RewardIcon2").Resize(true, 0.3125f, 0.3125f); ManaReso.Get("Y_RewardIcon2").color = Color.black; ManaReso.SetText("Y_Desc", Language.GetStr("UI", "Y_GuessFlowerName")); } else { throw new Exception(); } } private void SetButtonToClose() { ManaReso.SetText("Y_BtnLab", Language.GetStr("Common", "Confirm")); ManaReso.SetButtonEvent ( "Y_Btn", () => { ManaAudio.PlayClip(Clip.BtnClip); ManaReso.Get("Y_Chest").TweenBacCG(); } ); } private void SetButtonToGuess() { ManaReso.SetText("Y_BtnLab", Language.GetStr("UI", "Y_Guess")); ManaReso.SetButtonEvent ( "Y_Btn", () => { ManaAudio.PlayClip(Clip.BtnClip); CurrentChest.Guess(ManaReso.Get("Y_InputField").text); } ); } }