コード例 #1
0
    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();
    }
コード例 #2
0
    public void Uninstall()
    {
        _circleMat = null;
        _rectMat   = null;
        _parentBG  = null;
        _hand      = null;

        _material = null;
        _ev       = null;

        _guideConfig    = null;
        _guideDataModel = null;

        GC.Collect();
    }
コード例 #3
0
 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;
 }
コード例 #4
0
 void Awake()
 {
     Instance = this;
     _materia = _rawImage.material;
     ev       = transform.GetComponent <EventPenetrate>();
 }