123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- 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.PlazaRoomChest);
- 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.PlazaRoomChest);
- 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<Image>("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<Image>("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<Image>("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<Image>("Y_RewardIcon2").sprite = FlowerInfo.Icon;
- ManaReso.Get<Image>("Y_RewardIcon2").Resize(true, 0.3125f, 0.3125f);
- ManaReso.Get<Image>("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<InputField>("Y_InputField").text);
- }
- );
- }
- }
|