コード例 #1
0
    public Window GetWindow(WndID wndID)
    {
        Window wnd = null;

        m_dicWnd.TryGetValue(wndID, out wnd);
        return(wnd);
    }
コード例 #2
0
    public bool OpenWindow(WndID wndID, object param = null)
    {
        Type type;

        if (!m_dicRegWnd.TryGetValue(wndID, out type))
        {
            return(false);
        }
        Window wnd = System.Activator.CreateInstance(type) as Window;

        string     path    = "Prefabs/UI/" + type.ToString();
        GameObject prefabe = Resources.Load(path) as GameObject;

        if (prefabe == null)
        {
            return(false);
        }
        GameObject wndCtrl = GameObject.Instantiate(prefabe);

        wndCtrl.transform.SetParent(m_uiRoot);
        wndCtrl.transform.localPosition = Vector3.zero;
        wndCtrl.transform.localScale    = Vector3.one;
        wndCtrl.layer = LayerMask.NameToLayer("UI");

        wnd.Init(wndID, wndCtrl);
        wnd.OnCreate(param);
        m_dicWnd.Add(wndID, wnd);
        return(true);
    }
コード例 #3
0
 public void Init(WndID wndID, GameObject wndCtrl)
 {
     m_wndID   = wndID;
     m_wndCtrl = wndCtrl;
     InitCtrl(m_wndCtrl.transform);
     Register();
 }
コード例 #4
0
        // 将升星前后的英雄属性赋值,并显示出来
        public void setHeroUpStarInfo(cmd_entity_hero_diff_expend cmdInfo)
        {
            WndID wndID = GetUIWnd().GetID();

            heroIcon.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_HeadPortrait, wndID, 1, 3, cmdInfo.nHeroID);
            if (heroIcon.sprite == null)
            {
                heroIcon.sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_HeadPortrait, wndID, 1, 3, 10);
            }
            int nHeroStar = cmdInfo.nStarLv;

            heroStarItem.SetData(cmdInfo.nHeroID, nHeroStar, false, true);

            heroName.text = cmdInfo.chHeroName;
            if (cmdInfo.nHaveGold < cmdInfo.nExpedGold)
            {
                expendGold.text = "金币 " + cmdInfo.nExpedGold.ToString() + "(现有:<color=red>" + cmdInfo.nHaveGold.ToString() + "</color>)";
            }
            else
            {
                expendGold.text = "金币 " + cmdInfo.nExpedGold.ToString() + "(现有:" + cmdInfo.nHaveGold.ToString() + ")";
            }

            if (cmdInfo.nHaveCardCount < cmdInfo.nExpendCard)
            {
                expendCard.text = "荣誉勋章 " + cmdInfo.nExpendCard.ToString() + "(现有:<color=red>" + cmdInfo.nHaveCardCount.ToString() + "</color>)";
            }
            else
            {
                expendCard.text = "荣誉勋章 " + cmdInfo.nExpendCard.ToString() + "(现有:" + cmdInfo.nHaveCardCount.ToString() + ")";
            }

            heroLvLimitFront.text = cmdInfo.nLimitLv.ToString();
            heroLvLimitBack.text  = cmdInfo.nLimitLvAdd == 0 ? "" : ("+" + cmdInfo.nLimitLvAdd.ToString());

            for (int i = 0; i < UDefines.PROPERTY_COUNT; ++i)
            {
                if (i >= 2)
                {
                    Hp[i].text           = (cmdInfo.fHP[i] == 0 ? "" : ("+" + cmdInfo.fHP[i].ToString("F2")));
                    PhysicAttack[i].text = (cmdInfo.fPA[i] == 0 ? "" : ("+" + cmdInfo.fPA[i].ToString("F2")));
                    PhysicDef[i].text    = (cmdInfo.fPD[i] == 0 ? "" : ("+" + cmdInfo.fPD[i].ToString("F2")));
                    Mp[i].text           = (cmdInfo.fMagic[i] == 0 ? "" : ("+" + cmdInfo.fMagic[i].ToString("F2")));
                    MagicAttack[i].text  = (cmdInfo.fMA[i] == 0 ? "" : ("+" + cmdInfo.fMA[i].ToString("F2")));
                    MagicDef[i].text     = (cmdInfo.fMD[i] == 0 ? "" : ("+" + cmdInfo.fMD[i].ToString("F2")));
                }
                else
                {
                    Hp[i].text           = cmdInfo.fHP[i].ToString();
                    PhysicAttack[i].text = cmdInfo.fPA[i].ToString();
                    PhysicDef[i].text    = cmdInfo.fPD[i].ToString();
                    Mp[i].text           = cmdInfo.fMagic[i].ToString();
                    MagicAttack[i].text  = cmdInfo.fMA[i].ToString();
                    MagicDef[i].text     = cmdInfo.fMD[i].ToString();
                }
            }
            nHeroID = cmdInfo.nHeroID;
        }
コード例 #5
0
    public void CloseWindow(WndID wndID)
    {
        Window wnd;

        if (m_dicWnd.TryGetValue(wndID, out wnd))
        {
            wnd.Destroy();
            m_dicWnd.Remove(wndID);
        }
    }
コード例 #6
0
        // 获取窗口
        public IUIWnd GetWnd(WndID id)
        {
            IUIWnd wnd;

            if (m_wndList.TryGetValue(id, out wnd) == false)
            {
                return(null);
            }
            return(wnd);
        }
コード例 #7
0
        // 给指定窗口发消息
        public void SendTargetWndMessage(WndID id, WndMsgID msgID, UIMsgData data)
        {
            IUIWnd wnd = GetWnd(id);

            if (wnd == null)
            {
                return;
            }
            wnd.OnMessage(msgID, data);
        }
コード例 #8
0
        // 获取窗口显示状态
        public bool IsWndVisible(WndID id)
        {
            IUIWnd wnd = GetWnd(id);

            if (wnd == null)
            {
                return(false);
            }

            return(wnd.IsVisible());
        }
コード例 #9
0
        // 显示/隐藏窗口
        public bool ShowWnd(WndID id, bool bShow)
        {
            IUIWnd wnd = GetWnd(id);

            if (wnd == null)
            {
                return(false);
            }

            wnd.SetVisible(bShow);
            return(true);
        }
コード例 #10
0
ファイル: GuideStructure_Leaf.cs プロジェクト: zwong91/Titan
 public NOD_SendTargetWndMessage(WndID _eGuideActionWnd, WndMsgID _eMsgID, UIMsgData _widgetMsgData = null)
 {
     m_eGuideActonWnd    = _eGuideActionWnd;
     m_eGuideActionMsgID = _eMsgID;
     m_widgetMsgData     = _widgetMsgData;
 }
コード例 #11
0
 private void ShowSubWnd(WndID _eWndID)
 {
 }
コード例 #12
0
        public Sprite GetIconByPrize(SSchemeActorPrizeConfig prizeConfig, WndID wndID)
        {
            if (prizeConfig == null)
            {
                return(null);
            }

            Sprite sprite = null;

            switch (prizeConfig.nPrizeType)
            {
            case (int)EMActorPrizeType.ACTOR_PRIZE_HERO:
            {
                int iconIndex;
                if (wndID == WndID.WND_ID_MAILBOX)
                {
                    iconIndex = 4;
                }
                else
                {
                    iconIndex = 3;
                }
                sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_HeadPortrait, wndID, 1, iconIndex, prizeConfig.nPrizeParam[0]);
            }
            break;

            case (int)EMActorPrizeType.ACTOR_PRIZE_HEROCARD:
            {
                int iconIndex;
                if (wndID == WndID.WND_ID_MAILBOX)
                {
                    iconIndex = 4;
                }
                else
                {
                    iconIndex = 7;
                }
                sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_HeadPortrait, wndID, 1, iconIndex, prizeConfig.nPrizeParam[0]);
            }
            break;

            case (int)EMActorPrizeType.ACTOR_PRIZE_RUNE:
            {
                SSchemeRuneConfig runeConfig = RunePage.Instance.allRunePageTable[prizeConfig.nPrizeParam[0]] as SSchemeRuneConfig;
                if (runeConfig != null)
                {
                    sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_Rune, wndID, runeConfig.nRuneInlayType, runeConfig.nRuneIconId);
                }
            }
            break;

            case (int)EMActorPrizeType.ACTOR_PRIZE_HEROSKIN:
            {
                SkinInfoScheme skinConfig = new SkinInfoScheme();
                if (GameLogicAPI.GetHeroSkinInfo(prizeConfig.nPrizeParam[1], ref skinConfig))
                {
                    sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_HeadPortrait, wndID, skinConfig.nSkinIconID, 3, prizeConfig.nPrizeParam[0]);
                }
            }
            break;

            default:
            {
                sprite = USpriteManager.Instance.GetSprite(USpriteManager.ESpriteType.EST_ActorPrize, wndID, prizeConfig.nPrizeType, prizeConfig.nPrizeIcon);
            }
            break;
            }

            return(sprite);
        }
コード例 #13
0
 public void RegisterWnd <T>(WndID wndID)
 {
     m_dicRegWnd.Add(wndID, typeof(T));
 }
コード例 #14
0
        // 初始化
        public bool Start()
        {
            m_canvas = GetComponent <Canvas>();
            InitUICamera();
            InitLayer();

            m_raycaster = GetComponent <GraphicRaycaster>();

            m_wndList        = new Dictionary <WndID, IUIWnd>();
            m_messageList    = new Dictionary <WndMsgID, List <IUIWnd> >();
            m_keyMessageList = new Dictionary <FuntionShortCutSlotIndex, List <IUIWnd> > [(int)KeyStatus.Max];
            for (int i = 0; i < m_keyMessageList.Length; ++i)
            {
                m_keyMessageList[i] = new Dictionary <FuntionShortCutSlotIndex, List <IUIWnd> >();
            }

            if (Instance == null)
            {
                // 单独调试场景,不创建其他窗口
                Instance = this;
                return(true);
            }

            //删除载入等待UI
            GameObject waitingloadUI = GameObject.Find("Canvas");

            if (waitingloadUI)
            {
                DestroyImmediate(waitingloadUI, true);
            }
            foreach (IUIWnd wnd in UWindowWnd.CreateWindowWnd())//CreateAllWindow())
            {
                WndID id = wnd.GetID();
                if (m_wndList.ContainsKey(id))
                {
                    Debug.LogError("UISystem 重复初始化窗口, id=" + id);
                    return(false);
                }



                if ((wnd.GetLoadMask() & (int)WndLoadMaskDef.WND_LoadMask_All) != 0 && (wnd.GetPermissionMask() & (int)WndPermissionMaskDef.WND_PM_All) != 0)
                {
                    if (!wnd.InitFinish() && wnd.Init() == false)
                    {
                        Debug.LogError("UISystem 窗口初始化失败, id=" + id);
                        return(false);
                    }
                }

                m_wndList[id] = wnd;
            }

            #region 字体花屏处理
            Font.textureRebuilt += OnFontTextureRebuilt;

            System.Type fontUpdateTrackerType = typeof(UnityEngine.UI.FontUpdateTracker);
            m_RebuildForFont = fontUpdateTrackerType.GetMethod("RebuildForFont", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static);
            #endregion


            return(true);
        }
コード例 #15
0
ファイル: GuideStructure_Con.cs プロジェクト: zwong91/Titan
 public CON_IsWndViewVisible(bool _bCheckVisibleState, WndID _eWndID)
 {
     m_bCheckVisibleState = _bCheckVisibleState;
     m_eWndID             = _eWndID;
 }