69 lines
1.5 KiB
C#
69 lines
1.5 KiB
C#
using cfg;
|
|
using System;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class ExchangePictureItem : MonoBehaviour
|
|
{
|
|
public GameObject selected;
|
|
public Button btn_click;
|
|
public Action<ExchangePictureItem> action;
|
|
public PictureAttribute pictureAttribute;
|
|
public int index;
|
|
bool isShow;
|
|
public ExchangePictureItemData itemData;
|
|
public void Awake()
|
|
{
|
|
pictureAttribute = transform.Find("Item").GetComponent<PictureAttribute>();
|
|
btn_click = transform.Find("Item").GetComponent<Button>();
|
|
selected = transform.Find("Item/selected").gameObject;
|
|
if (isShow)
|
|
{
|
|
Show();
|
|
}
|
|
isShow = true;
|
|
}
|
|
|
|
private void Start()
|
|
{
|
|
btn_click.onClick.AddListener(OnClick);
|
|
}
|
|
|
|
public void SetData(ExchangePictureItemData _data, Action<ExchangePictureItem> _action)
|
|
{
|
|
itemData = _data;
|
|
index = _data.index;
|
|
action = _action;
|
|
if (isShow)
|
|
{
|
|
Show();
|
|
}
|
|
isShow = true;
|
|
}
|
|
void Show()
|
|
{
|
|
pictureAttribute.Init(itemData.data);
|
|
SetSelected(itemData.isSelect);
|
|
}
|
|
public void SetSelected(bool isSelect)
|
|
{
|
|
selected.SetActive(isSelect);
|
|
}
|
|
|
|
public void OnClick()
|
|
{
|
|
action?.Invoke(this);
|
|
}
|
|
}
|
|
public class ExchangePictureItemData
|
|
{
|
|
public Picture data;
|
|
public int index;
|
|
public bool isSelect;
|
|
public ExchangePictureItemData(int index, Picture data)
|
|
{
|
|
this.index = index;
|
|
this.data = data;
|
|
}
|
|
}
|