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<ClickScreenOtherSpace>().AddListener(() =>
|
{
|
isOpenCostScroll = false;
|
costArrow.transform.localRotation = Quaternion.Euler(0, 0, 0);
|
});
|
|
speedScroll.GetComponent<ClickScreenOtherSpace>().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<Button>();
|
|
btn.AddListener(() =>
|
{
|
if (AutoFightModel.Instance.autoCostWithBlessLV[cell.index - 1] > BlessLVManager.Instance.m_TreeLV)
|
{
|
SysNotifyMgr.Instance.ShowTip("autofight4", AutoFightModel.Instance.autoCostWithBlessLV[cell.index - 1]);
|
return;
|
}
|
isOpenCostScroll = false;
|
costScroll.SetActive(false);
|
costArrow.transform.localRotation = Quaternion.Euler(0, 0, 0);
|
costText.text = cell.index.ToString();
|
costTip.text = Language.Get("AutoFight2", ItemConfig.Get(GeneralDefine.MoneyDisplayModel[41]).ItemName, cell.index);
|
|
});
|
|
|
|
var cntText = cell.GetComponentInChildren<Text>();
|
|
if (AutoFightModel.Instance.autoCostWithBlessLV[cell.index - 1] <= BlessLVManager.Instance.m_TreeLV)
|
{
|
cntText.text = UIHelper.AppendColor(TextColType.LightWhite, cell.index.ToString());
|
}
|
else
|
{
|
cntText.text = UIHelper.AppendColor(TextColType.Gray, cell.index.ToString());
|
}
|
}
|
|
|
void OnRefreshSpeedCell(ScrollerDataType type, CellView cell)
|
{
|
var btn = cell.GetComponent<Button>();
|
var needtaskCount = TaskManager.Instance.GetNeedFinishTaskCount(AutoFightModel.Instance.speed2UnlockMissionID);
|
RechargeCount _rechargeCount;
|
bool isbuy = false;
|
if (RechargeManager.Instance.TryGetRechargeCount(AutoFightModel.Instance.speed3UnlockCTGID, out _rechargeCount))
|
{
|
isbuy = _rechargeCount.totalCount > 0;
|
}
|
|
|
btn.AddListener(() =>
|
{
|
if (cell.index == 2)
|
{
|
if (needtaskCount > 0)
|
{
|
SysNotifyMgr.Instance.ShowTip("autofight2", needtaskCount);
|
return;
|
}
|
}
|
else if (cell.index == 3)
|
{
|
if (!isbuy)
|
{
|
SysNotifyMgr.Instance.ShowTip("autofight3");
|
return;
|
}
|
}
|
isOpenSpeedScroll = false;
|
speedScroll.SetActive(false);
|
speedArrow.transform.localRotation = Quaternion.Euler(0, 0, 0);
|
speedText.text = cell.index.ToString();
|
});
|
|
var cntText = cell.GetComponentInChildren<Text>();
|
if (cell.index == 2)
|
{
|
cntText.text = UIHelper.AppendColor(needtaskCount > 0 ? TextColType.Gray : TextColType.LightWhite, cell.index.ToString());
|
}
|
else if (cell.index == 3)
|
{
|
cntText.text = UIHelper.AppendColor(isbuy ? TextColType.LightWhite : TextColType.Gray, cell.index.ToString());
|
}
|
else
|
{
|
cntText.text = cell.index.ToString();
|
}
|
}
|
|
void OnClickAutoStart()
|
{
|
AutoFightModel.Instance.isAutoAttackSet = true;
|
AutoFightModel.Instance.fightCost = int.Parse(costText.text);
|
AutoFightModel.Instance.fightSpeed = int.Parse(speedText.text);
|
AutoFightModel.Instance.isStopFightByBetterEquip = betterEquipToggle.isOn;
|
AutoFightModel.Instance.SaveAutoFightSetting();
|
CloseWindow();
|
SysNotifyMgr.Instance.ShowTip("autofight1");
|
}
|
|
void OnClickAutoStop()
|
{
|
ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"),
|
Language.Get("AutoFight11"), (bool isOK) =>
|
{
|
if (isOK)
|
{
|
AutoFightModel.Instance.isAutoAttackSet = false;
|
AutoFightModel.Instance.fightCost = int.Parse(costText.text);
|
AutoFightModel.Instance.fightSpeed = int.Parse(speedText.text);
|
AutoFightModel.Instance.isStopFightByBetterEquip = betterEquipToggle.isOn;
|
AutoFightModel.Instance.SaveAutoFightSetting();
|
CloseWindow();
|
}
|
});
|
|
}
|
}
|