public BasePanel[] GetSceneUI(Transform _UITrans, bool includeUnActive = false)
    {
        BasePanel[] panels = _UITrans.GetComponentsInChildren <BasePanel>(includeUnActive);

        foreach (var panel in panels)
        {
            if (panel != null)
            {
                panel.Init();

                if (panel is PausePanelUI && pauseStateUI != panel)
                {
                    pauseStateUI = panel as PausePanelUI;
                    continue;
                }
                else if (panel is PlayPanelUI && playStateUI != panel)
                {
                    playStateUI = panel as PlayPanelUI;
                    continue;
                }
                else if (panel is MarkPanelUI && endStateUI != panel)
                {
                    endStateUI = panel as MarkPanelUI;
                    continue;
                }
                else if (panel is HelpPanelUI && helpStateUI != panel)
                {
                    helpStateUI = panel as HelpPanelUI;
                    continue;
                }
            }
        }

        return(panels);
    }
Пример #2
0
        /// <summary>
        /// 添加按钮数据
        /// </summary>
        private void UpdateData()
        {
            serObj.Update();

            if (controllerBase == null)
            {
                controllerBase = (MarkPanelUI)serObj.targetObject;
            }

            if (!controllerBase)
            {
                return;
            }

            EditorGUILayout.BeginVertical();

            GUILayout.Space(10);


            isButtonData = EditorGUILayout.Foldout(isButtonData, "控制按钮", true, baseDataStyle);
            if (isButtonData)
            {
                GUI.backgroundColor = new Color(0.1f, 0.5f, 0.8f, 0.8f);
                if (GUILayout.Button("正放遮罩动画") && controllerBase)
                {
                    controllerBase.TestForwardPlay();
                }


                GUI.backgroundColor = new Color(0.1f, 0.5f, 0.8f, 0.8f);
                if (GUILayout.Button("倒放遮罩动画") && controllerBase)
                {
                    controllerBase.TestBackPlay();
                }

                GUI.backgroundColor = new Color(0.8f, 0.1f, 0.1f, 0.8f);
                if (GUILayout.Button("停止遮罩动画") && controllerBase)
                {
                    controllerBase.TestStop();
                }
            }

            EditorGUILayout.EndVertical();
        }
    public void Init()
    {
        if (sceneUIPerfab != null)
        {
            GameObject sceneUIObj = GameObject.Find(sceneUIPerfab.name);
            if (sceneUIObj)
            {
                GameObject.Destroy(sceneUIObj);
            }
            ResMgr.GetInstance().loadAsync <GameObject>("UI/" + sceneUIPerfab.name, (o) =>
            {
                if (o != null)
                {
                    o.SetActive(true);
                    Canvas cav           = o.GetComponent <Canvas>();
                    cav.worldCamera      = Camera.main;
                    cav.sortingLayerName = "InputUI";
                    cav.sortingOrder     = 10;
                    cav.planeDistance    = 1;
                    cav    = null;
                    maskUI = o.transform.GetComponentInChildren <MarkPanelUI>(true);

                    if (maskUI != null)
                    {
                        maskUI.Center       = new Vector2(0.47f, 0.5f);
                        maskUI.Raidus       = 1;
                        maskUI.TargetRaidus = 0;
                        if (maskUI.gameObject.activeSelf == true)
                        {
                            maskUI.gameObject.SetActive(false);
                        }
                    }
                }
            });
        }


        isScene    = false;
        isTempTime = false;
        isContiue  = false;
        operation  = null;
    }