using System; using System.Collections; using System.Collections.Generic; using UnityEngine; namespace Snxxz.UI { public class FuncEnable : MonoBehaviour { [SerializeField] int funcOpenKey; private void Awake() { FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent; #if UNITY_EDITOR FuncOpen.FuncOpenModeChangeEvent += FuncOpenModeChangeEvent; #endif } #if UNITY_EDITOR private void FuncOpenModeChangeEvent() { SetState(); } #endif private void OnEnable() { SetState(); } private void OnFuncStateChangeEvent(int _key) { if (funcOpenKey == _key) { SetState(); } } void SetState() { var _funcOpenCfg = FuncOpenLVConfig.Get(funcOpenKey); #if UNITY_EDITOR if (!FuncOpen.development) { if (_funcOpenCfg != null && _funcOpenCfg.open == 0) { gameObject.SetActive(false); return; } } #else if (_funcOpenCfg != null && _funcOpenCfg.open == 0) { gameObject.SetActive(false); return; } #endif gameObject.SetActive(true); } } }