备份CatanBuilding瘦身独立工程
This commit is contained in:
@@ -0,0 +1,106 @@
|
||||
using System;
|
||||
using cfg;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
namespace UI.PartnerGather.Mining
|
||||
{
|
||||
public class EventPartnerSpinItemView : MonoBehaviour
|
||||
{
|
||||
private Transform highlight;
|
||||
private Transform prize_nml;
|
||||
private Transform prize_medium;
|
||||
private Transform prize_super;
|
||||
private Transform prize_free;
|
||||
private Transform prize_more;
|
||||
|
||||
|
||||
// 调试
|
||||
private TMP_Text _textId;
|
||||
private TMP_Text _textIndex;
|
||||
|
||||
//
|
||||
private int _dataId;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
prize_nml = transform.Find("prize/prize_nml");
|
||||
prize_medium = transform.Find("prize/prize_medium");
|
||||
prize_super = transform.Find("prize/prize_super");
|
||||
prize_free = transform.Find("prize/prize_free");
|
||||
prize_more = transform.Find("prize/prize_more");
|
||||
highlight = transform.Find("prize/height");
|
||||
|
||||
_textId = transform.Find("prize/text_id").GetComponent<TMP_Text>();
|
||||
_textIndex = transform.Find("prize/text_index").GetComponent<TMP_Text>();
|
||||
}
|
||||
|
||||
public void Bind(EventPartnerSpinPoint data,int index)
|
||||
{
|
||||
// Log($"OldId :{_dataId} : new {data.ID}");
|
||||
var param = data.SpinPointParam;
|
||||
_dataId = data.ID;
|
||||
_textId.text = _dataId.ToString();
|
||||
_textIndex.text = index.ToString();
|
||||
|
||||
switch (param)
|
||||
{
|
||||
case FreeSpinPoint point:
|
||||
prize_nml.gameObject.SetActive(false);
|
||||
prize_medium.gameObject.SetActive(false);
|
||||
prize_super.gameObject.SetActive(false);
|
||||
prize_free.gameObject.SetActive(true);
|
||||
prize_more.gameObject.SetActive(false);
|
||||
UpdateText(prize_free,point.SpinPoints.ToString());
|
||||
break;
|
||||
case MoreSpinPoint point:
|
||||
prize_nml.gameObject.SetActive(false);
|
||||
prize_medium.gameObject.SetActive(false);
|
||||
prize_super.gameObject.SetActive(false);
|
||||
prize_free.gameObject.SetActive(false);
|
||||
prize_more.gameObject.SetActive(true);
|
||||
UpdateText(prize_more,Mathf.Round(point.BonusPercent * 100) + "%");
|
||||
break;
|
||||
case NormalSpinPoint point:
|
||||
prize_nml.gameObject.SetActive(true);
|
||||
prize_medium.gameObject.SetActive(false);
|
||||
prize_super.gameObject.SetActive(false);
|
||||
prize_free.gameObject.SetActive(false);
|
||||
prize_more.gameObject.SetActive(false);
|
||||
UpdateText(prize_nml,point.SpinPoints.ToString());
|
||||
break;
|
||||
}
|
||||
|
||||
void UpdateText(Transform rootUI,string content)
|
||||
{
|
||||
var label = rootUI.GetComponentInChildren<TMP_Text>(true);
|
||||
if (label)
|
||||
{
|
||||
label.text = content;
|
||||
}
|
||||
}
|
||||
}
|
||||
public void SetSelected(bool on)
|
||||
{
|
||||
Log($"SetSelected-> {on}");
|
||||
if (highlight)
|
||||
{
|
||||
highlight.gameObject.SetActive(on);
|
||||
}
|
||||
}
|
||||
private static void Log(object t)
|
||||
{
|
||||
Debug.Log($"<color=cyan>EventPartnerSpinItemView -> {t} </color>");
|
||||
}
|
||||
|
||||
public void UpdateSelected(int targetId)
|
||||
{
|
||||
if (highlight)
|
||||
{
|
||||
highlight.gameObject.SetActive(_dataId == targetId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user