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.
103 lines
3.0 KiB
103 lines
3.0 KiB
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; |
|
} |
|
}
|
|
|