| | |
| | | public class EquipModel : GameSystemManager<EquipModel> |
| | | { |
| | | public const int TotleEquip = 12; //装备栏大小 |
| | | public bool waitEquipOPPack = false; |
| | | public bool waitEquipOPPack = false; // 穿戴装备的操作 不含分解 |
| | | public event Action<bool, int> OnEquipOPResultAction; //是否换上了新装备且分解了 装备索引 |
| | | public event Action<List<int>, RectTransform> OnItemDropEvent; |
| | | |
| | |
| | | public int[] equipUIGirdEffects; //装备格子特效 |
| | | public ItemModel selectFloorEquip; //选中的地板装备 |
| | | public int lastShowEquipIndex = -1; //上一次界面显示装备的索引,拾取后物品消失需记录下做表现 |
| | | public Queue<int> waitEquipOP = new Queue<int>(); //等待操作的装备,需要和UI交互确认 |
| | | public Queue<int> waitEquipOP = new Queue<int>(); //等待操作的装备,需要和UI交互确认 不含分解 |
| | | |
| | | public override void Init() |
| | | { |
| | |
| | | // if (!IsEquip(equip)) |
| | | // return false; |
| | | |
| | | if (AutoFightModel.Instance.TryAutoFightDoEquip(equip)) |
| | | { |
| | | //自动战力对比, 条件不满足的分解 |
| | | return false; |
| | | } |
| | | |
| | | // 好几件装备需要处理的情况存起来 |
| | | waitEquipOP.Enqueue(equip.gridIndex); |
| | | //未回复装备操作结果,否则会显示旧装备 |
| | | if (waitEquipOPPack) |
| | |
| | | return false; |
| | | } |
| | | |
| | | |
| | | |
| | | selectFloorEquip = GetSelectFloorEquip(); |
| | | if (selectFloorEquip == null) |
| | | return false; |
| | | |
| | | UIManager.Instance.OpenWindow<EquipExchangeWin>(); |
| | | |
| | | return true; |
| | | |
| | | } |
| | |
| | | if (waitEquipOP.Count == 0) |
| | | return null; |
| | | |
| | | ItemModel item = PackManager.Instance.GetItemByIndex(PackType.DropItem, waitEquipOP.Dequeue()); |
| | | if (AutoFightModel.Instance.isAutoAttack) |
| | | { |
| | | //自动战力对比, 条件不满足的分解 |
| | | return null; |
| | | return PackManager.Instance.GetItemByIndex(PackType.DropItem, waitEquipOP.Dequeue()); |
| | | |
| | | } |
| | | |
| | | return item; |
| | | } |
| | | |
| | | |
| | | |
| | | //等级 |
| | | public int GetEquipLV(ItemModel equip) |
| | | { |