64 lines
1.9 KiB
C#
64 lines
1.9 KiB
C#
|
using System.Collections;
|
|||
|
using System.Collections.Generic;
|
|||
|
using UnityEngine;
|
|||
|
using UnityEngine.UI;
|
|||
|
using GCGame.Table;
|
|||
|
using Module.Log;
|
|||
|
|
|||
|
public class InteractionItem : UIItemBase {
|
|||
|
|
|||
|
public Text _title;
|
|||
|
|
|||
|
public GameObject _canBtn;
|
|||
|
public GameObject _cantBtn;
|
|||
|
public GameObject _getedBtn;
|
|||
|
|
|||
|
public UIContainerBase _rewItemContainer;
|
|||
|
|
|||
|
public int _interactionNodeId;
|
|||
|
private int _curType;
|
|||
|
public override void Show(Hashtable hash)
|
|||
|
{
|
|||
|
base.Show(hash);
|
|||
|
var tab = (Tab_InteractionNode)hash["InitObj"];
|
|||
|
_interactionNodeId = tab.Id;
|
|||
|
|
|||
|
var _interactionNodeTab = TableManager.GetInteractionNodeByID(_interactionNodeId, 0);
|
|||
|
if(_interactionNodeTab == null)
|
|||
|
{
|
|||
|
LogModule.ErrorLog("_interactionNodeTab is null : " + _interactionNodeId);
|
|||
|
gameObject.SetActive(false);
|
|||
|
return;
|
|||
|
}
|
|||
|
_curType = _interactionNodeTab.InteractiveType;
|
|||
|
_title.text = _interactionNodeTab.Title;
|
|||
|
|
|||
|
List<InteractionRewItem.InteractionRewItemData> rewList = new List<InteractionRewItem.InteractionRewItemData>();
|
|||
|
for(int index = 0; index < _interactionNodeTab.getRewardCount(); index++)
|
|||
|
{
|
|||
|
rewList.Add(new InteractionRewItem.InteractionRewItemData(
|
|||
|
_interactionNodeTab.GetRewardbyIndex(index), _interactionNodeTab.GetNumbyIndex(index)));
|
|||
|
}
|
|||
|
if (rewList.Count > 0)
|
|||
|
_rewItemContainer.InitContentItem(rewList);
|
|||
|
}
|
|||
|
|
|||
|
private int _curState = 0; // 0.不可领取 1.可领取 2.已领取
|
|||
|
public void InitState(int state)
|
|||
|
{
|
|||
|
_curState = state;
|
|||
|
_canBtn.SetActive(_curState == 1);
|
|||
|
_cantBtn.SetActive(_curState == 0);
|
|||
|
_getedBtn.SetActive(_curState == 2);
|
|||
|
}
|
|||
|
|
|||
|
public void OnGainBtnClick()
|
|||
|
{
|
|||
|
ReqGetInteractionRew req = new ReqGetInteractionRew();
|
|||
|
req._type = _curType;
|
|||
|
req._nodeId = _interactionNodeId;
|
|||
|
req.SendMsg();
|
|||
|
}
|
|||
|
|
|||
|
}
|