/**************************************************** 文件:Assets/Code/Scripts/Gameplay/UI/UI_BuyEnergyController.cs 作者:yuntao-Hu 时间:2024/5 描述:补充体力UI界面 说明: *****************************************************/ using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.UI; using UnityEngine.UIElements; using Button = UnityEngine.UI.Button; using Image = UnityEngine.UI.Image; using Toggle = UnityEngine.UI.Toggle; using ScrollView = PhxhSDK.PhxhScrollView; using Framework; using System; using Gameplay; using Cysharp.Threading.Tasks; using UnityEngine.Events; using System.Threading; using static UnityEngine.Rendering.DebugUI; using Gameplay.Net; using Gameplay.Common; using cfg.ActorCfg; using PhxhSDK; using LeanCloud.Realtime.Internal.Protocol; using static UI_BuyEnergyController; public class UI_BuyEnergyController : UIWindow { #region enum /// /// 补充体力方式 ( 与窗口内顺序对应 ) /// public enum RechargeMethod { Recharge_byItem, Recharge_byCurrency }//TODO 考虑后续以json方式存储补充体力方式信息 #endregion #region Temporary_Constant private const int DEFAULT_USAGE_AMOUNT = 1;//默认使用数目,使用时的最小量 /// /// 体力药物品ID /// private const int ENERGY_ITEM_ID = 8;//TODO 体力药物品ID,考虑加入globalconfig private readonly int[] itemIDs = { ENERGY_ITEM_ID, GLConfig.Inst.data.DiamondItemId };//TODO 考虑后续将补充体力方式改为json配置后需要调整传参 #endregion #region UI GameObj //UI GameObj ///Auto Gen Start/// public Image Image_BG; public TMP_Text Text_Title; public TMP_Text Text_Currency; public Button Button_Close; public Image Image_DetailBG; public TMP_Text Text_Detail; public Image Image_BtnBar; public TMP_InputField Text_NumInputField; public Button Button_Min; public Image Image_Min; public TMP_Text Text_Min; public Button Button_Minus; public Button Button_Max; public Image Image_Max; public TMP_Text Text_Max; public Button Button_Plus; public Image Image_ItemBG; public Image Image_ItemRect; public Image Image_MovePoint; public Image Image_Arrow; public TMP_Text Text_NowCount; public TMP_Text Text_AfterCount; public Button Button_Return; public TMP_Text Text_Return; public Button Button_Buy; public TMP_Text Text_Buy; ///Auto Gen End/// private RawImage rawImageGaussianBlurMask; #endregion #region class class MethodButtonObj: UIGameObjectWrapper { private GameObject chosenCircle; private TextMeshProUGUI itemAmountText; private Image buttonIcon; //TODO 考虑后续,将补充体力方式改为json配置后,可能需要调整传参 public MethodButtonObj(GameObject root, int i, int itemID, bool isScaleShow = true) : base(root, i, isScaleShow) { chosenCircle = FindObj("ChooseRect"); itemAmountText = GetComponent("ImageCount/TextCount"); buttonIcon = GetComponent("ItemIcon"); RefreshIcon(itemID); } public void BindListener(Action callback) { BindButton(GameObject.GetComponent