using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace Snxxz.UI
|
{
|
public class HumanThreeDimensionsBehaviour : MonoBehaviour
|
{
|
[SerializeField] Canvas m_TreasureCanva;
|
[SerializeField] Text m_Chapter;
|
[SerializeField] Text m_ChapterName;
|
[SerializeField] Transform m_ContainerLock;
|
[SerializeField] Transform m_ContainerCollecting;
|
[SerializeField] Text m_TreasureName;
|
[SerializeField] Transform m_ContainerCollected;
|
|
static readonly char[] split_identify = new char[1] { ' ' };
|
|
int treasureId = 0;
|
|
TreasureModel model { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } }
|
|
public void Display(int treasureId)
|
{
|
this.treasureId = treasureId;
|
DisplayBase();
|
DisplayState();
|
}
|
|
void DisplayBase()
|
{
|
List<int> tasks = null;
|
if (model.TryGetTreasureTasks(treasureId, out tasks))
|
{
|
var config = TreasureConfig.Get(treasureId);
|
var taskConfig = TaskListConfig.Get(tasks[0]);
|
var chapterArray = taskConfig.ChapterName.Split(split_identify, System.StringSplitOptions.RemoveEmptyEntries);
|
var chapterName = chapterArray.Length > 1 ? chapterArray[1] : chapterArray[0];
|
m_Chapter.text = chapterArray[0];
|
m_ChapterName.text = chapterName;
|
m_TreasureName.text = string.Format("获得{0}", config.Name);
|
}
|
}
|
|
void DisplayState()
|
{
|
Treasure treasure;
|
if (model.TryGetTreasure(treasureId, out treasure))
|
{
|
m_ContainerCollecting.gameObject.SetActive(treasure.state == TreasureState.Collecting);
|
m_ContainerCollected.gameObject.SetActive(treasure.state == TreasureState.Collected);
|
m_ContainerLock.gameObject.SetActive(treasure.state == TreasureState.Locked);
|
}
|
}
|
|
public void SetCamera(Camera camera)
|
{
|
m_TreasureCanva.worldCamera = camera;
|
}
|
|
private void LateUpdate()
|
{
|
if (!gameObject.layer.Equals(LayerUtility.DevisableUI))
|
{
|
LayerUtility.SetLayer(gameObject, LayerUtility.DevisableUI, true);
|
}
|
}
|
|
public void Dispose()
|
{
|
}
|
}
|
}
|