//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Wednesday, January 10, 2018 //-------------------------------------------------------- using UnityEngine; using System.Collections; using UnityEngine.UI; namespace Snxxz.UI { public class EnableAccordingToMap : MonoBehaviour { [SerializeField] EnableType m_EnableType; [SerializeField] MonoBehaviour m_Component; private void Awake() { DTC0403_tagPlayerLoginLoadOK.mapInitOkEvent += OnMapInitOk; } private void OnDestroy() { DTC0403_tagPlayerLoginLoadOK.mapInitOkEvent -= OnMapInitOk; } private void OnEnable() { OnMapInitOk(); } private void OnMapInitOk() { if (PlayerDatas.Instance.baseData.MapID == 0) { return; } var dungeonModel = ModelCenter.Instance.GetModel(); var dataMapId = dungeonModel.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID); if (dataMapId != 0) { var config = DungeonOpenTimeConfig.Get(dataMapId); switch (m_EnableType) { case EnableType.PlayerMove: m_Component.gameObject.SetActive(config.Movable == 1); break; case EnableType.PlayerSkill: m_Component.enabled = config.Skillable == 1; break; case EnableType.SelectPlayer: m_Component.enabled = config.SelectPlayerable == 1; break; } } else { switch (m_EnableType) { case EnableType.PlayerMove: m_Component.gameObject.SetActive(true); break; case EnableType.PlayerSkill: m_Component.enabled = true; break; case EnableType.SelectPlayer: m_Component.enabled = true; break; } } } public enum EnableType { PlayerMove, PlayerSkill, SelectPlayer, } } }