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(); }
private void InitData(uint id, int index) { curID = id; curIndex = index; targets = new List <Image>(); shaderCtl = this.gameObject.GetComponent <CircleShaderController>(); ep = this.gameObject.GetComponent <EventPenetrate>(); config = GuidingMGr.GetInstance().GetConfigByID(curID); if (config.OpType[index] == 1) { puzzleBar.transform.GetChild(0).GetComponent <PuzzleItemUI>().canRorate = false; } else { puzzleBar.transform.GetChild(0).GetComponent <PuzzleItemUI>().canRorate = true; } maxIndex = config.OpType.Count - 1; }
void Awake() { Instance = this; _materia = _rawImage.material; ev = transform.GetComponent <EventPenetrate>(); }