private void OnEnable() { #if !UNITY_EDITOR try { #endif var controllerBase = UIManager.Instance.GetController(UIConfig.NewbieGuide); DataModel = controllerBase.GetDataModel("") as GuideDataModel; BindRoot.SetBindDataSource(DataModel); EventDispatcher.Instance.AddEventListener(UIEvent_NextGuideEvent.EVENT_TYPE, OnEvent_NextStep); Mask.SetActive(false); Guide.SetActive(true); var data = GuideManager.Instance.GetCurrentGuideData(); if (null != data) { PostponeShow(data.DelayTime * 0.001f); } EventDispatcher.Instance.DispatchEvent(new UI_BlockMainUIInputEvent(0)); #if !UNITY_EDITOR } catch (Exception ex) { Logger.Error(ex.ToString()); } #endif }
public void Install() { if (_isInit) { return; } _isInit = true; if (FrameworkConfig.Instance.UseHotFixMode) { _hand = UnityHelper.GetTheChildNodeComponetScripts <Image>(LitFramework.HotFix.UIManager.Instance.TransPopUp, "Image_Hand"); _parentBG = LitFramework.HotFix.UIManager.Instance.MaskImage; } else { _hand = UnityHelper.GetTheChildNodeComponetScripts <Image>(LitFramework.Mono.UIManager.Instance.TransPopUp, "Image_Hand"); _parentBG = LitFramework.Mono.UIManager.Instance.MaskImage; } //加载新手引导所需各类资源 _circleMat = GameObject.Instantiate <Material>(Resources.Load <Material>("Shaders/Guide/Material/CircleMateria")); _rectMat = GameObject.Instantiate <Material>(Resources.Load <Material>("Shaders/Guide/Material/RectMateria")); _hand.sprite = GameObject.Instantiate <Sprite>(Resources.Load <Sprite>("Prefabs/UI/common_hand")); Assert.IsNotNull(_circleMat, "GuideShaderController circleMat 未加载成功"); Assert.IsNotNull(_rectMat, "GuideShaderController rectMat 未加载成功"); Assert.IsNotNull(_parentBG, "GuideShaderController parentBG 未加载成功"); Assert.IsNotNull(_hand, "GuideShaderController hand 未加载成功"); _parentBG.enabled = true; _parentBG.material = _initType == LitShaderType.Circle ? _circleMat : _rectMat; _isFocusing = false; _material = _parentBG.material; _guideConfig = GuideConfig.Instance; _guideDataModel = GuideDataModel.Instance; _ev = _parentBG.GetComponent <EventPenetrate>(); if (_ev == null) { _ev = _parentBG.gameObject.AddComponent <EventPenetrate>(); } _targetThreshold = _initType == LitShaderType.Circle ? _guideConfig.thresholdCircle : _guideConfig.thresholdRect; if (FrameworkConfig.Instance.UseHotFixMode) { _uiCam = LitFramework.HotFix.UIManager.Instance.UICam; _rootCanv = LitFramework.HotFix.UIManager.Instance.TransRoot.GetComponent <Canvas>(); } else { _uiCam = LitFramework.Mono.UIManager.Instance.UICam; _rootCanv = LitFramework.Mono.UIManager.Instance.TransRoot.GetComponent <Canvas>(); } _parentBG.enabled = false; ResetGuide(); HideHand(); GC.Collect(); }
public void Uninstall() { _circleMat = null; _rectMat = null; _parentBG = null; _hand = null; _material = null; _ev = null; _guideConfig = null; _guideDataModel = null; GC.Collect(); }