Esempio n. 1
0
    public void ShowPanel(PanelType panelType, params object[] panelArgs)
    {
        if (panels.ContainsKey(panelType))
        {
            Debug.Log("该面板已打开");
            CurrentPanel = panels[panelType];
            //CurrentPanel.gameObject.SetActive(false);
            CurrentPanel.OnResetArgs(panelArgs);
        }
        else
        {
            GameObject scene = new GameObject(panelType.ToString());
            CurrentPanel = scene.AddComponent(Type.GetType(panelType.ToString())) as PanelBase;
            //CurrentPanel.gameObject.SetActive(false);
            CurrentPanel.OnInit(panelArgs);
            panels.Add(panelType, CurrentPanel);
            if (parentObj == null)
            {
                parentObj = UIRoot;
            }
            UnityHelper.AddUIChildNodeToParentNode(parentObj, scene.transform);
            SetLayer(CurrentPanel.gameObject, LayerType.Panel);
        }

        StartShowPanel(CurrentPanel, CurrentPanel.PanelShowStyle, true);
    }
Esempio n. 2
0
    private void ShowScene(SceneType sceneType, params object[] sceneArgs)
    {
        if (scenes.ContainsKey(sceneType))
        {
            currentSceneBase = scenes[sceneType];
            currentSceneBase.OnShowing();
            currentSceneBase.OnResetArgs(sceneArgs);
            currentSceneBase.gameObject.SetActive(true);
            currentSceneBase.OnShowed();
        }
        else
        {
            if (parentObj == null)
            {
                parentObj = UIRoot;
            }
            string name = sceneType.ToString();

            GameObject scene = new GameObject(name);
            UnityHelper.AddUIChildNodeToParentNode(parentObj, scene.transform);
            SceneBase currentScene = scene.AddComponent(Type.GetType(name)) as SceneBase;

            currentSceneBase = currentScene;
            CurrentSceneType = sceneType;

            currentSceneBase.OnInit(sceneArgs);
            currentSceneBase.OnShowing();
            SetLayer(currentSceneBase.gameObject, LayerType.Scene);
            currentSceneBase.OnShowed();
            scenes.Add(sceneType, currentSceneBase);
            switchRecoders.Add(new SwitchRecorder(sceneType, sceneArgs));
        }
    }
Esempio n. 3
0
 /// <summary>
 /// 初始化皮肤
 /// </summary>
 protected virtual void OnInitSkin()
 {
     if (mainSkinPath != null)
     {
         _skin = LoadSrc(mainSkinPath);
     }
     else
     {
         _skin = new GameObject("Skin");
     }
     UnityHelper.AddUIChildNodeToParentNode(this.transform, _skin.transform);
 }
Esempio n. 4
0
    GameObject CreateLayerGameObject(string name, LayerType type)
    {
        Transform obj = UnityHelper.FindTheChildNode(mParent.gameObject, name);

        if (obj != null)
        {
            return(obj.gameObject);
        }
        else
        {
            GameObject layer = new GameObject(name);

            UnityHelper.AddUIChildNodeToParentNode(mParent, layer.transform);

            layer.transform.SetAsLastSibling();

            return(layer);
        }
    }