using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using Snxxz.UI;
|
using UnityEngine.UI;
|
using UnityEngine.EventSystems;
|
using System;
|
|
public class ExchangeEquipCell : MonoBehaviour
|
{
|
[SerializeField] ItemCell m_ItemCell;
|
[SerializeField] Image m_ChoseImg;
|
[SerializeField] LongPressButton m_LongBtn;
|
private ItemModel m_ItemModel;
|
private ExchangeActiveTokenModel m_Model { get { return ModelCenter.Instance.GetModel<ExchangeActiveTokenModel>(); } }
|
private DateTime m_PressTime;
|
private IEnumerator m_IE_LongPress;
|
|
public void SetSelf(ItemModel item)
|
{
|
m_ItemModel = item;
|
if(m_ItemModel == null)
|
{
|
m_ItemCell.gameObject.SetActive(false);
|
m_ChoseImg.gameObject.SetActive(false);
|
return;
|
}
|
m_ItemCell.gameObject.SetActive(true);
|
bool bIsChose = m_Model.ChoseEquips.Contains(m_ItemModel);
|
m_ChoseImg.gameObject.SetActive(bIsChose);
|
m_ItemCell.Init(item, true);
|
m_ItemCell.button.RemoveAllListeners();
|
|
m_ItemCell.button.AddListener(() =>
|
{
|
m_Model.EquipCellClick(m_ItemModel,
|
()=>
|
{
|
m_ChoseImg.gameObject.SetActive(m_Model.ChoseEquips.Contains(m_ItemModel));
|
});
|
});
|
var et = m_ItemCell.button.gameObject.GetComponent<EventTrigger>();
|
if(et == null)
|
{
|
et = m_ItemCell.button.gameObject.AddComponent<EventTrigger>();
|
EventTrigger.Entry entry_1 = new EventTrigger.Entry();
|
entry_1.eventID = EventTriggerType.PointerDown;
|
entry_1.callback.AddListener((data) =>
|
{
|
m_IE_LongPress = PointLongPress();
|
StartCoroutine(m_IE_LongPress);
|
});
|
et.triggers.Add(entry_1);
|
}
|
|
}
|
IEnumerator PointLongPress()
|
{
|
float time = 0;
|
while (Input.GetMouseButton(0))
|
{
|
time += Time.deltaTime;
|
if(time > 0.5f)
|
{
|
ItemTipUtility.Show(m_ItemModel.guid, false);
|
break;
|
}
|
yield return 0;
|
}
|
}
|
|
}
|