using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace vnxbqy.UI { public class MainCollectBehaviour : MonoBehaviour { [SerializeField] RectTransform m_ContainerNormalCollect; [SerializeField] Button m_NormalCollect; [SerializeField] Image m_NormalCollectIcon; [SerializeField] Text m_NormalCollectLabel; int collectNpcId = 0; uint serverInstanceId = 0; DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel(); } } private void Awake() { m_NormalCollect.AddListener(NormalCollect); } public void Display(int npcId, uint sid) { if (npcId == collectNpcId && sid == serverInstanceId) { return; } collectNpcId = npcId; serverInstanceId = sid; var mapId = dungeonModel.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID); m_ContainerNormalCollect.SetActive(false); switch (mapId) { default: m_ContainerNormalCollect.SetActive(true); DisplayNormalCollect(); break; } } public void Dispose() { collectNpcId = 0; serverInstanceId = 0; } void DisplayNormalCollect() { var config = CollectNpcConfig.Get(collectNpcId); if (config == null) { m_NormalCollectIcon.SetSprite("TY_UI_6"); m_NormalCollectLabel.text = Language.Get("Collect_Normal"); } else { m_NormalCollectIcon.SetSprite(config.Icon); m_NormalCollectLabel.text = config.tip; } m_NormalCollectIcon.SetNativeSize(); } private void NormalCollect() { if (collectNpcId != 0 && serverInstanceId != 0) { PrepareHandler.Instance.HandleCallback(E_NpcType.Collect, collectNpcId, serverInstanceId); ClientCollectUtility.HandleCallback(E_NpcType.Collect, collectNpcId, serverInstanceId); // NPCInteractProcessor.InvokeEvent(E_NpcType.Collect, collectNpcId, serverInstanceId); } } } }