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(); } } public void Display(int treasureId) { this.treasureId = treasureId; DisplayBase(); DisplayState(); } void DisplayBase() { List 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() { } } }