예제 #1
0
    public static void SwitchShowPanelByName(UIASSETS_ID id)
    {
        string uiResPath = GlobalInstanceFunction.Instance.GetAssetsName((int)id, AssetLoader.EAssetType.ASSET_UI);

        if (_PanelShowStates.ContainsKey(uiResPath) && _PanelShowStates[uiResPath] != UIShowCmd.Hide)
        {
            if (_PanelShown.ContainsKey(uiResPath))
            {
                _PanelShown[uiResPath].Show();
            }
            return;
        }

        List <string> strlist = new List <string>();

        foreach (var x in _PanelShowStates)
        {
            if (x.Value == UIShowCmd.Shown)
            {
                strlist.Add(x.Key);
            }
        }
        for (int i = 0; i < strlist.Count; ++i)
        {
            _PanelShown[strlist[i]].Hide();
        }

        AsyncLoad(id);
    }
예제 #2
0
    public void CloseUI(UIASSETS_ID assetID, bool unLoadAllLoadedObjects)
    {
        UIBase ba = null;

        if (mainPanelObj != null && mType == menuTypes.MAIN)
        {
            ba = mainPanelObj.GetComponent <UIBase> ();
        }
        else
        {
            //ba = popPanelObj.GetComponent<UIBase> ();
        }

        if (ba != null)
        {
            ba.Destroyobj();
            //GlobalInstanceFunction.Instance.ReleaseTexture(ba.transform);
        }
        else
        {
            if (mainPanelObj != null && mType == menuTypes.MAIN)
            {
                //GlobalInstanceFunction.Instance.ReleaseTexture(mainPanelObj.transform);
                Destroy(mainPanelObj);
            }
            else
            {
                //ReleaseTexture(popPanelObj.transform);
                //Destroy(popPanelObj);
            }
        }
        UIAssetMgr.DeleteAsset(assetID, unLoadAllLoadedObjects);
    }
예제 #3
0
    private void LoadUI(UIASSETS_ID id)
    {
        subUiResPath = GlobalInstanceFunction.Instance.GetAssetsName((int)id, AssetLoader.EAssetType.ASSET_UI);

        AssetLoader.LoadAssetBundle(subUiResPath, AssetLoader.EAssetType.ASSET_UI, (Assets, paramData) =>
        {
            if (hasDestroy_)
            {
                AssetInfoMgr.Instance.DecRefCount(subUiResPath, true);
                return;
            }
            if (null == Assets || null == Assets.mainAsset)
            {
                return;
            }
            GameObject go = (GameObject)GameObject.Instantiate(Assets.mainAsset) as GameObject;
            if (this == null && !gameObject.activeSelf)
            {
                Destroy(go);
            }
            go.transform.parent        = this.panel.transform;
            go.transform.localPosition = Vector3.zero;
            go.transform.localScale    = Vector3.one;

            posObj = go;
            stateBtn.GetComponent <BoxCollider> ().enabled = true;
            AssetInfoMgr.Instance.DecRefCount(subUiResPath, false);
        }
                                    , null);
    }
예제 #4
0
    void UpdateRight()
    {
        UIASSETS_ID uiId = GlobalValue.GetMoreActivityID(crtType_);

        if (uiId != (UIASSETS_ID)0)
        {
            loadingSub_ = true;
            UIAssetMgr.LoadUI(uiId, (AssetBundle Asset, ParamData Param) =>
            {
                if (rightContent_ == null)
                {
                    UIAssetMgr.DeleteAsset(uiId, true);
                    return;
                }

                GameObject subUi = (GameObject)GameObject.Instantiate(Asset.mainAsset) as GameObject;
                Asset.Unload(false);
                subUi.transform.parent        = rightContent_;
                subUi.transform.localScale    = Vector3.one;
                subUi.transform.localPosition = Vector3.zero;
                UIManager.Instance.AdjustUIDepth(subUi.transform, false);
                loadingSub_ = false;
            }, null);
        }
    }
예제 #5
0
    private void LoadUI(UIASSETS_ID id)
    {
        string uiResPath = GlobalInstanceFunction.Instance.GetAssetsName((int)id, AssetLoader.EAssetType.ASSET_UI);

        AssetLoader.LoadAssetBundle(uiResPath, AssetLoader.EAssetType.ASSET_UI, (Assets, paramData) => {
            if (null == Assets || null == Assets.mainAsset)
            {
                return;
            }

            GameObject go = (GameObject)GameObject.Instantiate(Assets.mainAsset) as GameObject;
            if (hasDestroy)
            {
                Destroy(go);
                return;
            }
            if (this == null && !gameObject.activeSelf)
            {
                Destroy(go);
            }
            go.transform.parent        = panelImg.transform;
            go.transform.localPosition = Vector3.zero;
            go.transform.localScale    = Vector3.one;

            equipObj = go;
        }
                                    , null);
    }
예제 #6
0
    private void LoadUI(UIASSETS_ID id, string sceneName)
    {
        subUiResPath = GlobalInstanceFunction.Instance.GetAssetsName((int)id, AssetLoader.EAssetType.ASSET_UI);

        UIAssetMgr.LoadUI(subUiResPath, (Assets, paramData) =>
        {
            if (null == Assets || null == Assets.mainAsset)
            {
                return;
            }
            GameObject go           = (GameObject)GameObject.Instantiate(Assets.mainAsset) as GameObject;
            go.transform.parent     = ApplicationEntry.Instance.uiRoot.transform;
            go.transform.localScale = Vector3.one;
            chatobj = go;

            if (sceneName.Equals("LoginScene") || sceneName.Equals("CreateRoleScene") || sceneName.Equals("ReturnScene") || sceneName.Equals("LoadingScene") || StageMgr.Scene_name.Equals("PalaceScene"))
            {
                chatobj.SetActive(false);
            }
            else
            {
                chatobj.SetActive(true);
            }
        }
                          , null);
    }
예제 #7
0
 public OpenSubSystemFlag GetPanelOpenFlag(UIASSETS_ID assetid)
 {
     if (panelDic_.ContainsKey(assetid))
     {
         return(panelDic_[assetid]);
     }
     return(OpenSubSystemFlag.OSSF_None);
 }
예제 #8
0
파일: UIAssetMgr.cs 프로젝트: heycayc/mlbb
    public static bool LoadUI(UIASSETS_ID ID, AssetLoader.AssetLoadCallback CallBack, ParamData paramData)
    {
        string AssetsName = GlobalInstanceFunction.Instance.GetAssetsName((int)ID, AssetLoader.EAssetType.ASSET_UI);

        if (!GlobalInstanceFunction.Instance.IsValidName(AssetsName))
        {
            return(false);
        }

        LoadUI(AssetsName, CallBack, paramData);
        return(true);
    }
예제 #9
0
파일: UIAssetMgr.cs 프로젝트: heycayc/mlbb
    static public void DeleteAsset(UIASSETS_ID ID, bool unLoadAllLoadedObjects)
    {
        string AssetsName = GlobalInstanceFunction.Instance.GetAssetsName((int)ID, AssetLoader.EAssetType.ASSET_UI);

        DeleteAsset(AssetsName);
        string[] refAtlas = UIDepedenceData.GetRefAtlas(AssetsName);
        if (refAtlas == null)
        {
            ClientLog.Instance.Log(AssetsName + " UI has no refAtlas! AssetID is : " + ID);
        }
        AtlasLoader.Instance.DeleteAtlas(refAtlas);
        //AssetInfoMgr.Instance.DecRefCount( AssetsName, unLoadAllLoadedObjects );
    }
예제 #10
0
    public bool isOpen(UIASSETS_ID uiid)
    {
        string AssetsName = GlobalInstanceFunction.Instance.GetAssetsName((int)uiid, AssetLoader.EAssetType.ASSET_UI);

        for (int i = 0; i < _UIList.Count; ++i)
        {
            if (_UIList[i].UIName.Equals(AssetsName))
            {
                return(true);
            }
        }
        return(false);
    }
예제 #11
0
    public void OpenUI(UIASSETS_ID id, menuTypes type)
    {
        if (uiPre == null)
        {
            return;
        }

        mType = type;
        if (type == menuTypes.MAIN)
        {
            priousUI.Enqueue(id);
        }
        ShowUIPanel(uiPre);
    }
예제 #12
0
    private void LoadUI(UIASSETS_ID id, int num)
    {
        string uiResPath = GlobalInstanceFunction.Instance.GetAssetsName((int)id, AssetLoader.EAssetType.ASSET_UI);

        AssetLoader.LoadAssetBundle(uiResPath, AssetLoader.EAssetType.ASSET_UI, (Assets, paramData) => {
            if (hasDestroy)
            {
                AssetInfoMgr.Instance.DecRefCount(GlobalInstanceFunction.Instance.GetAssetsName((int)UIASSETS_ID.UIASSETS_HelpBookPanel, AssetLoader.EAssetType.ASSET_UI), true);
                AssetInfoMgr.Instance.DecRefCount(GlobalInstanceFunction.Instance.GetAssetsName((int)UIASSETS_ID.UIASSETS_HelpWayPanel, AssetLoader.EAssetType.ASSET_UI), true);
                return;
            }

            if (null == Assets || null == Assets.mainAsset)
            {
                return;
            }

            GameObject go = (GameObject)GameObject.Instantiate(Assets.mainAsset) as GameObject;
            if (this == null && !gameObject.activeSelf)
            {
                Destroy(go);
            }
            go.transform.parent        = this.panel.transform;
            go.transform.localPosition = Vector3.zero;
            go.transform.localScale    = Vector3.one;

            if (num == 1)
            {
                wayObj = go;
                if (wayBtn.isEnabled)
                {
                    wayObj.gameObject.SetActive(false);
                }
            }
            else if (num == 2)
            {
                bookObj = go;
                if (bookBtn.isEnabled)
                {
                    bookObj.gameObject.SetActive(false);
                }
            }
            AssetInfoMgr.Instance.DecRefCount(GlobalInstanceFunction.Instance.GetAssetsName((int)UIASSETS_ID.UIASSETS_HelpBookPanel, AssetLoader.EAssetType.ASSET_UI), false);
            AssetInfoMgr.Instance.DecRefCount(GlobalInstanceFunction.Instance.GetAssetsName((int)UIASSETS_ID.UIASSETS_HelpWayPanel, AssetLoader.EAssetType.ASSET_UI), false);
        }
                                    , null);
    }
예제 #13
0
    public static void HidePanelByName(UIASSETS_ID id)
    {
        string uiResPath = GlobalInstanceFunction.Instance.GetAssetsName((int)id, AssetLoader.EAssetType.ASSET_UI);

        if (string.IsNullOrEmpty(uiResPath))
        {
            if (id == UIASSETS_ID.UIASSETS_MessageBoxPanel)
            {
                uiResPath = "MessageBoxPanel";
            }
            if (id == UIASSETS_ID.UIASSETS__ErrorTipsUI)
            {
                uiResPath = "PromptMessgaePanel";
            }
            if (id == UIASSETS_ID.UIASSETS_NoticePanel)
            {
                uiResPath = "UpdateNotice";
            }
            if (id == UIASSETS_ID.UIASSETS_NetWaitPanel)
            {
                uiResPath = "NetWaitPanel";
            }
        }

        if (!_PanelShowStates.ContainsKey(uiResPath))
        {
            return;
        }

        if (_PanelShowStates[uiResPath] == UIShowCmd.Showing)
        {
            _PanelShowStates[uiResPath] = UIShowCmd.Hide;
            return;
        }

        if (_PanelShown.ContainsKey(uiResPath))
        {
            _PanelShown[uiResPath].Hide();
        }
        else
        {
            //_PanelShowStates[uiResPath] = UIShowCmd.Hide;
        }
    }
예제 #14
0
    private void LoadUI(UIASSETS_ID id)
    {
        string uiResPath = GlobalInstanceFunction.Instance.GetAssetsName((int)id, AssetLoader.EAssetType.ASSET_UI);

        AssetLoader.LoadAssetBundle(uiResPath, AssetLoader.EAssetType.ASSET_UI, (Assets, paramData) => {
            if (tavernObj.gameObject.activeSelf || listObj.gameObject.activeSelf)
            {
                return;
            }
            if (hasDestroy)
            {
                AssetInfoMgr.Instance.DecRefCount(GlobalInstanceFunction.Instance.GetAssetsName((int)UIASSETS_ID.UIASSETS_EmployeePosPanel, AssetLoader.EAssetType.ASSET_UI), true);
                AssetInfoMgr.Instance.DecRefCount(GlobalInstanceFunction.Instance.GetAssetsName((int)UIASSETS_ID.UIASSETS_EmployeeEquipPanel, AssetLoader.EAssetType.ASSET_UI), true);
                return;
            }
            if (null == Assets || null == Assets.mainAsset)
            {
                return;
            }
            if (listBtn.isEnabled == false)
            {
                return;
            }
            GameObject go = (GameObject)GameObject.Instantiate(Assets.mainAsset) as GameObject;
            if (this == null && !gameObject.activeSelf)
            {
                Destroy(go);
            }
            go.transform.parent        = this.panel.transform;
            go.transform.localPosition = Vector3.zero;
            go.transform.localScale    = Vector3.one;

            posObj = go;

            AssetInfoMgr.Instance.DecRefCount(GlobalInstanceFunction.Instance.GetAssetsName((int)UIASSETS_ID.UIASSETS_EmployeePosPanel, AssetLoader.EAssetType.ASSET_UI), false);
            AssetInfoMgr.Instance.DecRefCount(GlobalInstanceFunction.Instance.GetAssetsName((int)UIASSETS_ID.UIASSETS_EmployeeEquipPanel, AssetLoader.EAssetType.ASSET_UI), false);
        }
                                    , null);
    }
예제 #15
0
    private void LoadBabyUI(UIASSETS_ID id)
    {
        //subUiResPath = GlobalInstanceFunction.Instance.GetAssetsName((int)id, AssetLoader.EAssetType.ASSET_UI);

        UIAssetMgr.LoadUI(id, (Assets, paramData) =>
        {
            if (hasDestroy)
            {
                //AssetInfoMgr.Instance.DecRefCount(subUiResPath, true);
                UIAssetMgr.DeleteAsset(id, true);
                return;
            }
            if (null == Assets || null == Assets.mainAsset)
            {
                UIAssetMgr.DeleteAsset(id, true);
                return;
            }
            GameObject go = (GameObject)GameObject.Instantiate(Assets.mainAsset) as GameObject;
            if (this == null && !gameObject.activeSelf)
            {
                Destroy(go);
                return;
            }
            babyObj                    = go;
            go.transform.parent        = this.panel.transform;
            go.transform.localPosition = Vector3.zero;
            go.transform.localScale    = Vector3.one;
            //UIManager.Instance.AdjustUIDepth(go.transform);
            if (babyBtn.isEnabled)
            {
                babyObj.gameObject.SetActive(false);
                return;
            }
            UIManager.Instance.AdjustUIDepth(transform);
            //AssetInfoMgr.Instance.DecRefCount(subUiResPath, false);
            openedBabyBank = id;
        }
                          , null);
    }
예제 #16
0
    public void OpenUI(string sceneName, menuTypes type)
    {
        if (sceneName.Equals(""))
        {
            return;
        }
        UIASSETS_ID id = (UIASSETS_ID)0;

        switch (sceneName)
        {
        case GlobalValue.StageName_LoginScene:
        case GlobalValue.StageName_ReLoginScene:
            id = UIASSETS_ID.UIASSETS_LoginPanel;
            break;

        case GlobalValue.StageName_CreateRoleScene:
            id = UIASSETS_ID.UIASSETS_PanelXuan;
            break;
        //case GlobalValue.StageName_AttackScene:
        //case GlobalValue.StageName_AttackScene_Maze:

        //    break;
        case GlobalValue.StageName_groupScene:
            id = UIASSETS_ID.UIASSETS_TeamPanel;
            break;

        default:
            if (GlobalValue.isBattleScene(sceneName))
            {
                id = UIASSETS_ID.UIASSETS_AttackPanel;
            }
            else
            {
                id = UIASSETS_ID.UIASSETS_MainPanel;
            }
            break;
        }
        OpenUI(id, type);
    }
예제 #17
0
    private void LoadUI(UIASSETS_ID id)
    {
        string uiResPath = GlobalInstanceFunction.Instance.GetAssetsName((int)id, AssetLoader.EAssetType.ASSET_UI);

        AssetLoader.LoadAssetBundle(uiResPath, AssetLoader.EAssetType.ASSET_UI, (Assets, paramData) => {
            if (null == Assets || null == Assets.mainAsset)
            {
                return;
            }

            GameObject go = (GameObject)GameObject.Instantiate(Assets.mainAsset) as GameObject;
            if (this == null && !gameObject.activeSelf)
            {
                Destroy(go);
            }

            UIPanel con = go.GetComponent <UIPanel>();

            con.transform.parent        = this.panel.transform;
            con.transform.localPosition = Vector3.zero;
            con.transform.localScale    = Vector3.one;
            con.depth = 5;

            if (id == UIASSETS_ID.UIASSETS_Compound)
            {
                _compoundPane = go;
            }
            else if (id == UIASSETS_ID.UIASSETS_GatherPanel)
            {
                _gathePane = go;
            }
            else if (id == UIASSETS_ID.UIASSETS_SkillTabPanel)
            {
            }
        }
                                    , null);
    }
예제 #18
0
    private void LoadUI(UIASSETS_ID id, int num)
    {
        subUiResPath = GlobalInstanceFunction.Instance.GetAssetsName((int)id, AssetLoader.EAssetType.ASSET_UI);
        if (subUIs_ == null)
        {
            subUIs_ = new List <string>();
            subUIs_.Add(subUiResPath);
        }
        else
        {
            if (!subUIs_.Contains(subUiResPath))
            {
                subUIs_.Add(subUiResPath);
            }
        }

        AssetLoader.LoadAssetBundle(subUiResPath, AssetLoader.EAssetType.ASSET_UI, (Assets, paramData) =>
        {
            if (hasDestroy)
            {
                //AssetInfoMgr.Instance.DecRefCount(subUiResPath, true);
                return;
            }
            if (null == Assets || null == Assets.mainAsset)
            {
                return;
            }
            GameObject go = (GameObject)GameObject.Instantiate(Assets.mainAsset) as GameObject;
            if (this == null && !gameObject.activeSelf)
            {
                Destroy(go);
            }
            go.transform.parent     = this.panel.transform;
            go.transform.position   = Vector3.zero;
            go.transform.localScale = Vector3.one;
            if (num == 1)
            {
                posObj = go;
                if (PropertyBtn.isEnabled)
                {
                    posObj.SetActive(false);
                }
            }
            else
            if (num == 2)
            {
                reductionObj = go;
                if (reductionBtn.isEnabled)
                {
                    reductionObj.SetActive(false);
                }
            }
            else
            if (num == 3)
            {
                QianghuaObj = go;
                if (qianghuaBtn.isEnabled)
                {
                    QianghuaObj.SetActive(false);
                }
            }
            else
            if (num == 4)
            {
                ReformObj = go;
                if (ReformBtn.isEnabled)
                {
                    ReformObj.SetActive(false);
                }
            }
            else
            if (num == 6)
            {
                epuObj = go;
                if (zhuangbeiBtn.isEnabled)
                {
                    epuObj.SetActive(false);
                }
            }
            UIManager.Instance.AdjustUIDepth(go.transform, true, 1000);
            NetWaitUI.HideMe();
            // UIManager.Instance.AdjustUIDepth(go.transform);
            //stateBtn.GetComponent<BoxCollider> ().enabled = true;
        }
                                    , null);
    }
예제 #19
0
 public void LoadUIPanel(UIASSETS_ID assetID, SceneUICallBack callback = null)
 {
     UICallBack = callback;
     UIAssetMgr.LoadUI(assetID, LoadUICallBack, null);
 }
예제 #20
0
    private void LoadUI(UIASSETS_ID id, int num)
    {
        subUiResPath = GlobalInstanceFunction.Instance.GetAssetsName((int)id, AssetLoader.EAssetType.ASSET_UI);
        if (subUIs_ == null)
        {
            subUIs_ = new List <string>();
            subUIs_.Add(subUiResPath);
        }
        else
        {
            if (!subUIs_.Contains(subUiResPath))
            {
                subUIs_.Add(subUiResPath);
            }
        }
        UIAssetMgr.LoadUI(subUiResPath, (Assets, paramData) =>
        {
            if (hasDestroy)
            {
                UIAssetMgr.DeleteAsset(subUiResPath);
                return;
            }
            if (null == Assets || null == Assets.mainAsset)
            {
                return;
            }
            GameObject go = (GameObject)GameObject.Instantiate(Assets.mainAsset) as GameObject;
            if (this == null && !gameObject.activeSelf)
            {
                Destroy(go);
            }
            go.transform.parent        = back.transform;
            go.transform.localPosition = Vector3.zero;
            go.transform.localScale    = Vector3.one;
            if (num == 1)
            {
                familyConstructionObj = go;
                if (Guildbtns[num].isEnabled)
                {
                    familyConstructionObj.SetActive(false);
                }
            }
            else if (num == 2)
            {
                familyShopingObj = go;
                if (Guildbtns[num].isEnabled)
                {
                    familyShopingObj.SetActive(false);
                }
            }
            else if (num == 3)
            {
                familyZhufuObj = go;
                if (Guildbtns[num].isEnabled)
                {
                    familyZhufuObj.SetActive(false);
                }
            }
            else
            if (num == 4)
            {
                familyZhufuOHD = go;
                if (Guildbtns[num].isEnabled)
                {
                    familyZhufuOHD.SetActive(false);
                }
            }
            if (num == 5)
            {
                familyMessageObj = go;
                if (Guildbtns[num].isEnabled)
                {
                    familyMessageObj.SetActive(false);
                }
            }


            UIManager.Instance.AdjustUIDepth(go.transform);
            NetWaitUI.HideMe();
            UIManager.Instance.AdjustUIDepth(go.transform);
        }
                          , null);
    }
예제 #21
0
    public static void AsyncLoad(UIASSETS_ID id, bool isCollider = true)
    {
        bool mustReturn = StageMgr.Loading;

        string uiResPath = GlobalInstanceFunction.Instance.GetAssetsName((int)id, AssetLoader.EAssetType.ASSET_UI);

        if (string.IsNullOrEmpty(uiResPath))
        {
            if (id == UIASSETS_ID.UIASSETS_MessageBoxPanel)
            {
                uiResPath  = "MessageBoxPanel";
                mustReturn = false;
            }
            if (id == UIASSETS_ID.UIASSETS__ErrorTipsUI)
            {
                uiResPath  = "PromptMessgaePanel";
                mustReturn = false;
            }
            if (id == UIASSETS_ID.UIASSETS_NoticePanel)
            {
                uiResPath  = "UpdateNotice";
                mustReturn = false;
            }
            if (id == UIASSETS_ID.UIASSETS_NetWaitPanel)
            {
                uiResPath = "NetWaitPanel";
            }
        }

        if (mustReturn)
        {
            return;
        }

        if (UIManager.Instance.ContainsUI4zhizuo(uiResPath))
        {
            PopText.Instance.Show(LanguageManager.instance.GetValue("zanweikaifang"));
            return;
        }
        foreach (UIShowCmd cmd in _PanelShowStates.Values)
        {
            if (cmd == UIShowCmd.Showing)
            {
                ClientLog.Instance.Log(" return  AsyncLoad    " + id);
                if (id != UIASSETS_ID.UIASSETS_MessageBoxPanel &&
                    id != UIASSETS_ID.UIASSETS_NpcTaskPanel)
                {
                    return;
                }
            }
        }


        if (_PanelShowStates.ContainsKey(uiResPath) && _PanelShowStates[uiResPath] != UIShowCmd.Hide)
        {
            if (_PanelShown.ContainsKey(uiResPath))
            {
                _PanelShown[uiResPath].Show();
            }

            return;
        }

        _PanelShowStates[uiResPath] = UIShowCmd.Showing;

        if (UIManager.Instance.ContainsUI4Loading(uiResPath))
        {
            ApplicationEntry.Instance.ShowUILoading();
        }

        UIAssetMgr.LoadUI(uiResPath, (Assets, paramData) =>
        {
            if (null == Assets || null == Assets.mainAsset)
            {
                ApplicationEntry.Instance.HideUILoading();
                return;
            }

            GameObject go = (GameObject)GameObject.Instantiate(Assets.mainAsset) as GameObject;
            if (isCollider)
            {
                if (id != UIASSETS_ID.UIASSETS_NpcTaskPanel)
                {
                    GlobalInstanceFunction.Instance.MakeUIMask(go);
                }
            }

            UIBase ui     = go.GetComponent <UIBase>();
            ui._UIResPath = uiResPath;

            ui.AttachToGameObject(go);

            if (_PanelShowStates[uiResPath] == UIShowCmd.Hide)
            {
                ui.Hide();
            }
            else
            {
                _PanelShowStates[uiResPath] = UIShowCmd.Shown;
                _PanelShown[uiResPath]      = ui;
                ui.Show();
            }
            ApplicationEntry.Instance.HideUILoading();
        }
                          , null);
    }
예제 #22
0
    public void NpcOpenUI(UIASSETS_ID id)
    {
        switch (id)
        {
        case UIASSETS_ID.UIASSETS__BabySkillLearning:
            BabySkillLearning.SwithShowMe();
            break;

        case UIASSETS_ID.UIASSETS_ProfessionPanel:
            ProfessionPanel.SwithShowMe();
            //UIBase.AsyncLoad(UIASSETS_ID.UIASSETS_ProfessionPanel);
            break;

        case UIASSETS_ID.UIASSETS_ExchangePanel:
            Exchange.SwithShowMe();
            break;

        case UIASSETS_ID.UIASSETS__LearningUI:
            if (GamePlayer.Instance.GetOpenSubSystemFlag(OpenSubSystemFlag.OSSF_Bar))
            {
                LearningUI.SwithShowMe();
            }
            break;

        case UIASSETS_ID.UIASSETS_FamilyPanel:
            FamilyPanelUI.SwithShowMe();
            break;

        case UIASSETS_ID.UIASSETS_FamilinfoPanel:
            MyFamilyInfo.SwithShowMe();
            break;

        case UIASSETS_ID.UIASSETS_FamilShopPanel:
            FamilyShopUI.SwithShowMe(true);
            break;

        case UIASSETS_ID.UIASSETS__StoreUI:
            if (GamePlayer.Instance.GetOpenSubSystemFlag(OpenSubSystemFlag.OSSF_Shop))
            {
                StoreUI.SwithShowMe(2);
            }
            break;

        case UIASSETS_ID.UIASSETS__Arena:
            if (GamePlayer.Instance.GetOpenSubSystemFlag(OpenSubSystemFlag.OSSF_JJC))
            {
                ArenaUI.SwithShowMe();
            }
            else
            {
                int level = 0;
                GlobalValue.Get(Constant.C_PVPJJCOpenlevel, out level);
                if (GamePlayer.Instance.GetIprop(PropertyType.PT_Level) < level)
                {
                    PopText.Instance.Show(LanguageManager.instance.GetValue("EN_OpenBaoXiangLevel"));
                    return;
                }
            }
            break;

        case UIASSETS_ID.UIASSETS_ArenaPvpPanel:
            if (GamePlayer.Instance.GetOpenSubSystemFlag(OpenSubSystemFlag.OSSF_PVPJJC))
            {
                bool isOpen = ActivitySystem.Instance.GetInfoState(7) == ActivitySystem.ActivityInfo.ActivityState.AS_Open;
                if (!isOpen)
                {
                    PopText.Instance.Show(LanguageManager.instance.GetValue("jjcmeikai"));
                    return;
                }

                if (TeamSystem.IsInTeam())
                {
                    if (!TeamSystem.IsTeamLeader())
                    {
                        PopText.Instance.Show(LanguageManager.instance.GetValue("teamopen"));
                        return;
                    }

                    COM_SimplePlayerInst[] team = TeamSystem.GetTeamMembers();
                    if (team == null || team.Length < 3)
                    {
                        PopText.Instance.Show(LanguageManager.instance.GetValue("arenapvpnum"));
                        return;
                    }
                    if (team != null && team.Length > 0)
                    {
                        for (int i = 0; i < team.Length; i++)
                        {
                            if (team[i].isLeavingTeam_)
                            {
                                PopText.Instance.Show(LanguageManager.instance.GetValue("teamMemberLeavingNoopen"));
                                return;
                            }
                        }

                        int level = 0;
                        GlobalValue.Get(Constant.C_PVPJJCOpenlevel, out level);
                        for (int i = 0; i < team.Length; i++)
                        {
                            if (team[i].properties_[(int)PropertyType.PT_Level] < level)
                            {
                                PopText.Instance.Show(LanguageManager.instance.GetValue("duiyuandengji"));
                                return;
                            }
                        }
                    }
                }
                else
                {
                    PopText.Instance.Show(LanguageManager.instance.GetValue("pvpzudui"));
                    return;
                }

                NetConnection.Instance.joinWarriorchoose();

                //NetConnection.Instance.requestpvprank();
                //NetConnection.Instance.requestMyJJCTeamMsg();
                //ArenaPvpPanelUI.SwithShowMe();
            }
            else
            {
                int level = 0;
                GlobalValue.Get(Constant.C_PVPJJCOpenlevel, out level);
                if (GamePlayer.Instance.GetIprop(PropertyType.PT_Level) < level)
                {
                    PopText.Instance.Show(LanguageManager.instance.GetValue("EN_OpenBaoXiangLevel"));
                    return;
                }
            }
            break;

        case UIASSETS_ID.UIASSETS__WordMapUI:
            WorldMap.SwithShowMe();
            break;

        case UIASSETS_ID.UIASSETS_GatherPanel:
            SkillViewUI.SwithShowMe(1);
            break;

        case UIASSETS_ID.UIASSETS_AuctionHousePanel:
            if (GamePlayer.Instance.GetOpenSubSystemFlag(OpenSubSystemFlag.OSSF_AuctionHouse))
            {
                if (AuctionHouseSystem.Open_ == false)
                {
                    PopText.Instance.Show(LanguageManager.instance.GetValue("AuctionHouseClosed"), PopText.WarningType.WT_Warning);
                    return;
                }
                AuctionHousePanel.SwithShowMe();
            }
            break;

        case UIASSETS_ID.UIASSETS_HundredUI:
            if (GamePlayer.Instance.GetOpenSubSystemFlag(OpenSubSystemFlag.OSSF_Hundred))
            {
                HundredUI.SwithShowMe();
            }
            break;

        case UIASSETS_ID.UIASSETS_EmailPanel:
            EmailUI.SwithShowMe();
            break;

        case UIASSETS_ID.UIASSETS_LookchiPanel:
            LookTreeUI.SwithShowMe();
            break;

        case UIASSETS_ID.UIASSETS_PetTemple:
            PetTemple.SwithShowMe();
            break;

        case UIASSETS_ID.UIASSETS_FanilyBank:
            FanilyBankUI.SwithShowMe();
            break;

        case UIASSETS_ID.UIASSETS_FamilyCollection:
            FamilyCollectionUI.SwithShowMe();
            break;

        case UIASSETS_ID.UIASSETS_GuildBattlePanel:
            GuildBattleEnterScene.SwithShowMe();
            break;

        case UIASSETS_ID.UIASSETS_FamilyMonster:
        {
            if (FamilySystem.instance.GuildMember != null && (int)GuildSystem.GetGuildMemberSelf((int)GamePlayer.Instance.InstId).job_ >= (int)GuildJob.GJ_VicePremier)
            {
                FamilyMonsterUI.SwithShowMe();
            }
            else
            {
                PopText.Instance.Show(LanguageManager.instance.GetValue("EN_CommandPositionLess"));
            }
        }
        break;

        case UIASSETS_ID.UIASSETS_CopyOpenPanel:
            CopyOpenUI.SwithShowMe();
            break;

        case UIASSETS_ID.UIASSETS_EmployeeTask:
            NetConnection.Instance.requestEmployeeQuest();
            break;

        case UIASSETS_ID.UIASSETS_EquipUIPanel:
            EquipUIPanel.SwithShowMe();
            break;
        }
    }