using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class AutoFightWin : UIBase { [SerializeField] Button autoStartBtn; [SerializeField] GameObject usingAutoObj; [SerializeField] Button autoStopBtn; [SerializeField] Button autoSaveBtn; [SerializeField] Button changeCostBtn; [SerializeField] Text costText; [SerializeField] Image costArrow; [SerializeField] Text costTip; [SerializeField] ScrollerController costScroll; [SerializeField] Button changeSpeedBtn; [SerializeField] Text speedText; [SerializeField] Image speedArrow; [SerializeField] ScrollerController speedScroll; [SerializeField] Toggle betterEquipToggle; bool isOpenCostScroll = false; bool isOpenSpeedScroll = false; protected override void InitComponent() { autoStartBtn.AddListener(OnClickAutoStart); autoStopBtn.AddListener(OnClickAutoStop); autoSaveBtn.AddListener(OnClickAutoStart); changeCostBtn.AddListener(() => { isOpenCostScroll = !isOpenCostScroll; costScroll.SetActive(isOpenCostScroll); costArrow.transform.localRotation = Quaternion.Euler(0, 0, isOpenCostScroll ? 180 : 0); }); changeSpeedBtn.AddListener(() => { isOpenSpeedScroll = !isOpenSpeedScroll; speedScroll.SetActive(isOpenSpeedScroll); speedArrow.transform.localRotation = Quaternion.Euler(0, 0, isOpenSpeedScroll ? 180 : 0); }); betterEquipToggle.AddListener((bool value) => { betterEquipToggle.isOn = value; }); costScroll.GetComponent().AddListener(() => { isOpenCostScroll = false; costArrow.transform.localRotation = Quaternion.Euler(0, 0, 0); }); speedScroll.GetComponent().AddListener(() => { isOpenSpeedScroll = false; speedArrow.transform.localRotation = Quaternion.Euler(0, 0, 0); }); } protected override void OnPreOpen() { costScroll.OnRefreshCell += OnRefreshCostCell; speedScroll.OnRefreshCell += OnRefreshSpeedCell; Display(); } protected override void OnPreClose() { costScroll.OnRefreshCell -= OnRefreshCostCell; speedScroll.OnRefreshCell -= OnRefreshSpeedCell; } void Display() { costText.text = AutoFightModel.Instance.fightCost.ToString(); speedText.text = AutoFightModel.Instance.fightSpeed.ToString(); betterEquipToggle.isOn = AutoFightModel.Instance.isStopFightByBetterEquip; costTip.text = Language.Get("AutoFight2", ItemConfig.Get(GeneralDefine.MoneyDisplayModel[41]).ItemName, AutoFightModel.Instance.fightCost); if (AutoFightModel.Instance.isAutoAttackSet) { usingAutoObj.SetActive(true); autoStartBtn.SetActive(false); } else { usingAutoObj.SetActive(false); autoStartBtn.SetActive(true); } costScroll.SetActive(false); speedScroll.SetActive(false); costArrow.transform.localRotation = Quaternion.Euler(0, 0, 0); speedArrow.transform.localRotation = Quaternion.Euler(0, 0, 0); CreateCostScroll(); CreateSpeedScroll(); } void CreateCostScroll() { costScroll.Refresh(); for (int i = 0; i < AutoFightModel.Instance.maxCost; i++) { costScroll.AddCell(ScrollerDataType.Header, i + 1); } costScroll.Restart(); } void CreateSpeedScroll() { speedScroll.Refresh(); for (int i = 0; i < AutoFightModel.Instance.maxSpeed; i++) { speedScroll.AddCell(ScrollerDataType.Header, i + 1); } speedScroll.Restart(); } void OnRefreshCostCell(ScrollerDataType type, CellView cell) { var btn = cell.GetComponent