You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
104 lines
3.0 KiB
104 lines
3.0 KiB
4 years ago
|
using AX.MessageSystem;
|
||
|
using System;
|
||
|
using System.Collections;
|
||
|
using System.Collections.Generic;
|
||
|
using UnityEngine;
|
||
|
using UnityEngine.UI;
|
||
|
|
||
|
public class EquipItem : MonoBehaviour
|
||
|
{
|
||
|
public Text EuqipName;
|
||
|
public Image EuqipImage;
|
||
|
public Text EuqipNumber;
|
||
|
public CommonToggle EuqipToggle;
|
||
|
private Equip data;
|
||
|
int index = -1;
|
||
|
private bool IsShowUIViewNumberSelect = true;
|
||
|
public bool IsBag = false;
|
||
|
public void Init(bool isBag)
|
||
|
{
|
||
|
IsBag = isBag;
|
||
|
EuqipToggle.OnClicked = OnClicked;
|
||
|
}
|
||
|
|
||
|
private void OnClicked(CommonToggle arg1, bool arg2)
|
||
|
{
|
||
|
//设置选中状态
|
||
|
data.IsSelected = arg2;
|
||
|
if (!IsBag)
|
||
|
{
|
||
|
if (arg2)
|
||
|
{
|
||
|
//检查组
|
||
|
EquipManager.Instance.CheckSelectGroup(data);
|
||
|
if (data.IsSelectMore)
|
||
|
{
|
||
|
if (IsShowUIViewNumberSelect)
|
||
|
{
|
||
|
// 这是多选面板提交事件
|
||
|
UIManager.GetView<UIViewNumberSelect>()
|
||
|
.CommitAction = SetNumber;
|
||
|
UIManager.GetView<UIViewNumberSelect>()
|
||
|
.EquipName = data.Name;
|
||
|
//显示面板
|
||
|
UIManager.ShowView<UIViewNumberSelect>();
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
//不可以多选数量+1
|
||
|
data.Number = 1;
|
||
|
EuqipNumber.text = data.Number.ToString();
|
||
|
}
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
//取消选中数量归零
|
||
|
data.Number = 0;
|
||
|
EuqipNumber.text = data.Number.ToString();
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
private void SetNumber(int num)
|
||
|
{
|
||
|
if (num == 0)
|
||
|
{
|
||
|
EuqipToggle.ToggleButton.isOn = false;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
data.Number = num;
|
||
|
EuqipNumber.text = data.Number.ToString();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public void SetItemData(Equip data1, int index)
|
||
|
{
|
||
|
IsShowUIViewNumberSelect = false;
|
||
|
data = data1;
|
||
|
this.index = index;
|
||
|
EuqipToggle.ToggleButton.isOn = data.IsSelected;
|
||
|
EuqipName.text = data.Name;
|
||
|
EuqipNumber.text = data.Number.ToString();
|
||
|
ResourceManager.LoadAsset<Sprite>(data.PicName, LoadAssetCallback);
|
||
|
IsShowUIViewNumberSelect = true;
|
||
|
EuqipNumber.gameObject.SetActive(data.IsSelectMore);
|
||
|
// 如果是灭火机器人
|
||
|
if (EquipManager.Instance.CurrentSelectedBag.GetComponent<BaseGameObjInfo>().gameObjType == CloneObjType.FirefightingRobot
|
||
|
&& data.Name != "消防高压水带")
|
||
|
{
|
||
|
EuqipToggle.ToggleButton.interactable = false;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
EuqipToggle.ToggleButton.interactable = true;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
private void LoadAssetCallback(Sprite obj)
|
||
|
{
|
||
|
EuqipImage.sprite = obj;
|
||
|
}
|
||
|
}
|