| | |
| | | using Spine;
|
| | | using System;
|
| | | using System.Collections;
|
| | | using System.Collections.Generic;
|
| | |
|
| | | using UnityEngine;
|
| | | using UnityEngine.UI;
|
| | | using UnityEngine;
|
| | |
|
| | | //获得装备界面
|
| | | public class EquipExchangeWin : UIBase
|
| | |
| | | [SerializeField] EquipExchangeCell oldEquipObj;
|
| | | [SerializeField] EquipExchangeCell newEquipObj;
|
| | |
|
| | |
|
| | |
|
| | |
|
| | | protected override void OnPreOpen()
|
| | | {
|
| | | // 通知主战场暂停
|
| | | BattleManager.Instance.storyBattleField.IsPause = true;
|
| | | AutoFightModel.Instance.hasAutoExchanged = false;
|
| | | AutoFightModel.Instance.startServerTime = TimeUtility.AllSeconds;
|
| | | |
| | | EquipModel.Instance.OnEquipOPResultAction += OnRefreshItem;
|
| | | Display();
|
| | |
|
| | |
| | | // }
|
| | | }
|
| | |
|
| | |
|
| | |
|
| | | protected override void OnClose()
|
| | | {
|
| | | EquipModel.Instance.OnEquipOPResultAction -= OnRefreshItem;
|
| | | // 通知主战场
|
| | | BattleManager.Instance.storyBattleField.IsPause = false;
|
| | | }
|
| | |
|
| | |
|
| | |
|
| | |
|
| | | void Display()
|
| | | {
|
| | |
| | |
|
| | | }
|
| | |
|
| | |
|
| | | |
| | | void OnRefreshItem(bool isDone, int index)
|
| | | {
|
| | | AutoFightModel.Instance.hasAutoExchanged = false;
|
| | | Display();
|
| | | }
|
| | |
|
| | | private void LateUpdate()
|
| | | {
|
| | | TryAutoExchangeEquip();
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 尝试自动换装
|
| | | /// </summary>
|
| | | private void TryAutoExchangeEquip()
|
| | | {
|
| | | // 已交换过,不再处理
|
| | | if (AutoFightModel.Instance.hasAutoExchanged)
|
| | | return;
|
| | |
|
| | | if (!AutoFightModel.Instance.isAutoAttack)
|
| | | return;
|
| | |
|
| | | if (!AutoFightModel.Instance.isAutoChangeBetterEquip)
|
| | | return;
|
| | |
|
| | | int elapsedSeconds = TimeUtility.AllSeconds - AutoFightModel.Instance.startServerTime;
|
| | | if (elapsedSeconds < AutoFightModel.Instance.autoChangeBetterEquipWaitTimeS)
|
| | | return;
|
| | |
|
| | | // 检查是否有新装备
|
| | | if (EquipModel.Instance.selectFloorEquip == null)
|
| | | return;
|
| | |
|
| | |
|
| | | AutoFightModel.Instance.hasAutoExchanged = true;
|
| | | AutoExchangeEquip();
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 自动交换装备
|
| | | /// </summary>
|
| | | private void AutoExchangeEquip()
|
| | | {
|
| | | // 检查新装备战力是否更高
|
| | | long fightPowerChange = FightPowerManager.Instance.GetFightPowerChange(EquipModel.Instance.selectFloorEquip);
|
| | | bool isFightPowerUp = fightPowerChange > 0;
|
| | | int equipPlace = EquipModel.Instance.selectFloorEquip.config.EquipPlace - 1;
|
| | | var oldEquip = PackManager.Instance.GetItemByIndex(PackType.Equip, equipPlace);
|
| | | //是否替换后自动分解原装备
|
| | |
|
| | | if (isFightPowerUp)
|
| | | {
|
| | | if (oldEquip == null)
|
| | | {
|
| | | EquipModel.Instance.SendEquipOP(new ushort[] { (ushort)EquipModel.Instance.selectFloorEquip.gridIndex }, 2);
|
| | | }
|
| | | else
|
| | | {
|
| | | EquipModel.Instance.SendEquipOP(new ushort[] { (ushort)EquipModel.Instance.selectFloorEquip.gridIndex }, 2, AutoFightModel.Instance.isAutoExchangeDecomposeOld);
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | //是否替换后自动分解原装备
|
| | | if (AutoFightModel.Instance.isAutoExchangeDecomposeOld)
|
| | | {
|
| | | EquipModel.Instance.SendEquipOP(new ushort[] { (ushort)EquipModel.Instance.selectFloorEquip.gridIndex }, 1);
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | |
|