Ejemplo n.º 1
0
        private void ShowRewardForm(CUIEvent uiEvent)
        {
            Singleton <CUIManager> .GetInstance().CloseForm(PVESettleSys.PATH_STAR);

            if (this.m_SettleData != null)
            {
                if (this.m_SettleData.stReward != null)
                {
                    COMDT_REWARD_DETAIL          stReward = this.m_SettleData.stReward;
                    ListView <COMDT_REWARD_INFO> listView = new ListView <COMDT_REWARD_INFO>();
                    for (int i = 0; i < (int)stReward.bNum; i++)
                    {
                        COMDT_REWARD_INFO cOMDT_REWARD_INFO = stReward.astRewardDetail[i];
                        byte bType = cOMDT_REWARD_INFO.bType;
                        if (bType == 6)
                        {
                            listView.Add(cOMDT_REWARD_INFO);
                        }
                    }
                    if (listView.get_Count() > 0 && listView.get_Item(0).bType == 6)
                    {
                        CSymbolItem       useable           = (CSymbolItem)CUseableManager.CreateUseable(5, 0uL, listView.get_Item(0).stRewardInfo.get_stSymbol().dwSymbolID, (int)listView.get_Item(0).stRewardInfo.get_stSymbol().dwCnt, 0);
                        CUseableContainer cUseableContainer = new CUseableContainer(enCONTAINER_TYPE.ITEM);
                        cUseableContainer.Add(useable);
                        CUICommonSystem.ShowSymbol(cUseableContainer, enUIEventID.Settle_ClickItemDetailEnd);
                        MonoSingleton <NewbieGuideManager> .GetInstance().CheckTriggerTime(NewbieGuideTriggerTimeType.getSymbolReward, new uint[0]);

                        return;
                    }
                }
                this.ShowPveExp();
            }
        }
Ejemplo n.º 2
0
        public int GetSymbolPageMaxLvl(int pageIndex)
        {
            if ((pageIndex < 0) || (pageIndex >= this.m_pageCount))
            {
                return(0);
            }
            CRoleInfo masterRoleInfo = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo();

            if (masterRoleInfo == null)
            {
                DebugHelper.Assert(false, "role is null");
                return(0);
            }
            int num = 0;
            CUseableContainer useableContainer = masterRoleInfo.GetUseableContainer(enCONTAINER_TYPE.ITEM);
            ulong             objID            = 0L;

            for (int i = 0; i < 30; i++)
            {
                if (this.m_symbolPageArr[pageIndex][i] > 0L)
                {
                    objID = this.m_symbolPageArr[pageIndex][i];
                    CUseable useableByObjID = useableContainer.GetUseableByObjID(objID);
                    if (useableByObjID != null)
                    {
                        CSymbolItem item = (CSymbolItem)useableByObjID;
                        if (item != null)
                        {
                            num += item.m_SymbolData.wLevel;
                        }
                    }
                }
            }
            return(num);
        }
Ejemplo n.º 3
0
        public static void ReciveItemList(CSPkg msg)
        {
            CRoleInfo masterRoleInfo = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo();

            if (masterRoleInfo != null)
            {
                CUseableContainer  useableContainer   = masterRoleInfo.GetUseableContainer(enCONTAINER_TYPE.ITEM);
                COMDT_ITEM_POSINFO comdt_item_posinfo = null;
                int iCount = 0;
                for (int i = 0; i < msg.stPkgData.stPkgDetail.stPkgInfo.wItemCnt; i++)
                {
                    comdt_item_posinfo = msg.stPkgData.stPkgDetail.stPkgInfo.astItemList[i];
                    if (comdt_item_posinfo.wItemType == 2)
                    {
                        iCount = comdt_item_posinfo.stItemInfo.stPropInfo.iOverCnt;
                    }
                    else if (comdt_item_posinfo.wItemType == 3)
                    {
                        iCount = comdt_item_posinfo.stItemInfo.stEquipInfo.iOverCnt;
                    }
                    else if (comdt_item_posinfo.wItemType == 5)
                    {
                        iCount = comdt_item_posinfo.stItemInfo.stSymbolInfo.iOverCnt;
                    }
                    useableContainer.Add((COM_ITEM_TYPE)comdt_item_posinfo.wItemType, comdt_item_posinfo.ullUniqueID, comdt_item_posinfo.dwItemID, iCount, comdt_item_posinfo.iAddUpdTime);
                }
                Singleton <EventRouter> .instance.BroadCastEvent(EventID.BAG_ITEMS_UPDATE);
            }
        }
        private int GetNameChangeHaveItemCount(RES_CHANGE_NAME_TYPE changeType)
        {
            int       num            = 0;
            CRoleInfo masterRoleInfo = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo();

            CUseableContainer useableContainer = masterRoleInfo.GetUseableContainer(enCONTAINER_TYPE.ITEM);

            if (useableContainer != null)
            {
                int curUseableCount = useableContainer.GetCurUseableCount();
                for (int i = 0; i < curUseableCount; i++)
                {
                    CUseable useableByIndex = useableContainer.GetUseableByIndex(i);
                    if (useableByIndex != null && useableByIndex.m_type == COM_ITEM_TYPE.COM_OBJTYPE_ITEMPROP)
                    {
                        if (changeType == RES_CHANGE_NAME_TYPE.RES_CHANGE_NAME_TYPE_PLAYER && CItem.IsPlayerNameChangeCard(useableByIndex.m_baseID))
                        {
                            num += useableByIndex.m_stackCount;
                        }
                        else if (changeType == RES_CHANGE_NAME_TYPE.RES_CHANGE_NAME_TYPE_GUILD && CItem.IsGuildNameChangeCard(useableByIndex.m_baseID))
                        {
                            num += useableByIndex.m_stackCount;
                        }
                    }
                }
            }
            return(num);
        }
Ejemplo n.º 5
0
        private void ShowRewardForm(CUIEvent uiEvent)
        {
            Singleton <CUIManager> .GetInstance().CloseForm(PATH_STAR);

            if (this.m_SettleData != null)
            {
                if (this.m_SettleData.stReward != null)
                {
                    COMDT_REWARD_DETAIL          stReward = this.m_SettleData.stReward;
                    ListView <COMDT_REWARD_INFO> view     = new ListView <COMDT_REWARD_INFO>();
                    for (int i = 0; i < stReward.bNum; i++)
                    {
                        COMDT_REWARD_INFO comdt_reward_info = stReward.astRewardDetail[i];
                        if (comdt_reward_info.bType == 6)
                        {
                            view.Add(comdt_reward_info);
                        }
                    }
                    if ((view.Count > 0) && (view[0].bType == 6))
                    {
                        CSymbolItem       useable   = (CSymbolItem)CUseableManager.CreateUseable(COM_ITEM_TYPE.COM_OBJTYPE_ITEMSYMBOL, 0L, view[0].stRewardInfo.stSymbol.dwSymbolID, (int)view[0].stRewardInfo.stSymbol.dwCnt, 0);
                        CUseableContainer container = new CUseableContainer(enCONTAINER_TYPE.ITEM);
                        container.Add(useable);
                        CUICommonSystem.ShowSymbol(container, enUIEventID.Settle_ClickItemDetailEnd);
                        MonoSingleton <NewbieGuideManager> .GetInstance().CheckTriggerTime(NewbieGuideTriggerTimeType.getSymbolReward, new uint[0]);

                        return;
                    }
                }
                this.ShowPveExp();
            }
        }
Ejemplo n.º 6
0
        public bool CheckAnyWearSymbol(out int posId, out uint symbolId)
        {
            posId    = 0;
            symbolId = 0;
            CUseableContainer useableContainer = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo().GetUseableContainer(enCONTAINER_TYPE.ITEM);

            int         curUseableCount = useableContainer.GetCurUseableCount();
            CSymbolItem item            = null;
            CSymbolItem item2           = null;
            int         pos             = 0;

            for (int i = 0; i < curUseableCount; i++)
            {
                CUseable useableByIndex = useableContainer.GetUseableByIndex(i);
                if (useableByIndex.m_type == COM_ITEM_TYPE.COM_OBJTYPE_ITEMSYMBOL)
                {
                    item = (CSymbolItem)useableByIndex;
                    if ((((item != null) && (item.m_stackCount > item.GetPageWearCnt(0))) && ((item.GetPageWearCnt(0) < CSymbolSystem.s_maxSameIDSymbolEquipNum) && this.GetWearPos(item, 0, out pos))) && (((item2 == null) || (item.m_SymbolData.bColor < item2.m_SymbolData.bColor)) || ((item.m_SymbolData.bColor == item2.m_SymbolData.bColor) && (item.m_SymbolData.wLevel < item2.m_SymbolData.wLevel))))
                    {
                        item2    = item;
                        posId    = pos;
                        symbolId = item.m_baseID;
                    }
                }
            }
            return(item2 != null);
        }
Ejemplo n.º 7
0
        private void RefreshSymbolTransformForm()
        {
            CUIFormScript form = Singleton <CUIManager> .GetInstance().GetForm(s_symbolTransformPath);

            CRoleInfo masterRoleInfo = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo();

            if (((form != null) && (this.m_curTransformSymbol != null)) && (masterRoleInfo != null))
            {
                GameObject gameObject = form.transform.Find("Panel_SymbolTranform/Panel_Content").gameObject;
                gameObject.transform.Find("iconImage").GetComponent <Image>().SetSprite(string.Format("{0}{1}", CUIUtility.s_Sprite_Dynamic_Icon_Dir, this.m_curTransformSymbol.dwIcon), form, true, false, false);
                gameObject.transform.Find("nameText").GetComponent <Text>().text = StringHelper.UTF8BytesToString(ref this.m_curTransformSymbol.szName);
                Text component = gameObject.transform.Find("countText").GetComponent <Text>();
                component.text = string.Empty;
                int useableStackCount = 0;
                CUseableContainer useableContainer = masterRoleInfo.GetUseableContainer(enCONTAINER_TYPE.ITEM);
                if (useableContainer != null)
                {
                    useableStackCount = useableContainer.GetUseableStackCount(COM_ITEM_TYPE.COM_OBJTYPE_ITEMSYMBOL, this.m_curTransformSymbol.dwID);
                    CTextManager instance = Singleton <CTextManager> .GetInstance();

                    component.text = (useableStackCount <= 0) ? instance.GetText("Symbol_Not_Own") : string.Format(instance.GetText("Symbol_Own_Cnt"), useableStackCount);
                }
                CSymbolSystem.RefreshSymbolPropContent(gameObject.transform.Find("symbolPropPanel").gameObject, this.m_curTransformSymbol.dwID);
                gameObject.transform.Find("makeCoinText").GetComponent <Text>().text  = this.m_curTransformSymbol.dwMakeCoin.ToString();
                gameObject.transform.Find("breakCoinText").GetComponent <Text>().text = this.m_curTransformSymbol.dwBreakCoin.ToString();
                GameObject obj4 = gameObject.transform.Find("btnBreak").gameObject;
                obj4.GetComponent <Button>().interactable    = useableStackCount > 0;
                obj4.GetComponent <CUIEventScript>().enabled = useableStackCount > 0;
            }
        }
Ejemplo n.º 8
0
        public static void RefreshSymbolItem(ResSymbolInfo symbolInfo, GameObject widget, CUIFormScript form, enSymbolMakeSource source = enSymbolMakeSource.SymbolManage)
        {
            if (symbolInfo == null || widget == null)
            {
                return;
            }
            CRoleInfo masterRoleInfo = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo();

            if (masterRoleInfo == null)
            {
                return;
            }
            CUseableContainer useableContainer = masterRoleInfo.GetUseableContainer(enCONTAINER_TYPE.ITEM);
            CUseable          useableByBaseID  = useableContainer.GetUseableByBaseID(5, symbolInfo.dwID);
            Image             component        = widget.transform.Find("iconImage").GetComponent <Image>();
            Text      component2 = widget.transform.Find("countText").GetComponent <Text>();
            Text      component3 = widget.transform.Find("nameText").GetComponent <Text>();
            Text      component4 = widget.transform.Find("descText").GetComponent <Text>();
            Transform transform  = widget.transform.Find("Price");

            if (transform != null)
            {
                Text componetInChild = Utility.GetComponetInChild <Text>(transform.gameObject, "Text");
                if (componetInChild != null)
                {
                    componetInChild.text = symbolInfo.dwMakeCoin.ToString();
                }
                CUIEventScript component5 = transform.GetComponent <CUIEventScript>();
                if (component5 != null)
                {
                    stUIEventParams eventParams = default(stUIEventParams);
                    eventParams.symbolTransParam.symbolCfgInfo = symbolInfo;
                    component5.SetUIEvent(enUIEventType.Click, enUIEventID.SymbolMake_ListItemClick, eventParams);
                }
            }
            component.SetSprite(string.Format("{0}{1}", CUIUtility.s_Sprite_Dynamic_Icon_Dir, symbolInfo.dwIcon), form, true, false, false, false);
            component2.text = ((useableByBaseID == null) ? "0" : useableByBaseID.m_stackCount.ToString());
            component3.text = symbolInfo.szName;
            component4.text = CSymbolSystem.GetSymbolAttString(symbolInfo.dwID, true);
            CUIEventScript component6 = widget.GetComponent <CUIEventScript>();

            if (component6 != null)
            {
                stUIEventParams eventParams2 = default(stUIEventParams);
                eventParams2.symbolTransParam.symbolCfgInfo = symbolInfo;
                component6.SetUIEvent(enUIEventType.Click, enUIEventID.SymbolMake_ListItemClick, eventParams2);
            }
            if (source == enSymbolMakeSource.Mall)
            {
                CUICommonSystem.PlayAnimator(widget, "Symbol_Normal");
            }
            else if (useableByBaseID != null)
            {
                CUICommonSystem.PlayAnimator(widget, "Symbol_Normal");
            }
            else
            {
                CUICommonSystem.PlayAnimator(widget, "Symbol_Disabled");
            }
        }
Ejemplo n.º 9
0
        public void SetSymbolItemWearCnt(ulong objId, int pageIndex)
        {
            if ((pageIndex >= 0) && (pageIndex < this.m_pageCount))
            {
                CRoleInfo masterRoleInfo = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo();

                if (masterRoleInfo == null)
                {
                    DebugHelper.Assert(false, "SetSymbolItemWearCnt role is null");
                }
                else
                {
                    CUseableContainer useableContainer = masterRoleInfo.GetUseableContainer(enCONTAINER_TYPE.ITEM);
                    if ((objId > 0L) && (useableContainer != null))
                    {
                        CUseable useableByObjID = useableContainer.GetUseableByObjID(objId);
                        if (useableByObjID != null)
                        {
                            CSymbolItem item = (CSymbolItem)useableByObjID;
                            if (item != null)
                            {
                                item.SetPageWearCnt(pageIndex, this.m_symbolPageArr[pageIndex]);
                            }
                        }
                    }
                }
            }
        }
Ejemplo n.º 10
0
        public GameObject GetGuideItem()
        {
            CUIFormScript form = Singleton <CUIManager> .GetInstance().GetForm(s_bagFormPath);

            if (form == null)
            {
                return(null);
            }
            CUseableContainer selectUseableContainer = this.m_selectUseableContainer;

            for (int i = 0; i < selectUseableContainer.GetCurUseableCount(); i++)
            {
                CUseable useableByIndex = selectUseableContainer.GetUseableByIndex(i);
                if (useableByIndex.m_type == COM_ITEM_TYPE.COM_OBJTYPE_ITEMPROP)
                {
                    CItem item = useableByIndex as CItem;
                    if ((item.m_itemData.bClass == 1) && (item.m_itemData.bType == 1))
                    {
                        CUIListScript component = form.gameObject.transform.Find("Panel_Right/List").gameObject.GetComponent <CUIListScript>();
                        if (component.GetElementAmount() > i)
                        {
                            return(component.GetElemenet(i).gameObject.transform.Find("itemCell").gameObject);
                        }
                    }
                }
            }
            return(null);
        }
Ejemplo n.º 11
0
        public void GetSymbolPageProp(int pageIndex, ref int[] propArr, ref int[] propPctArr, bool bPvp)
        {
            if (((pageIndex >= 0) && (pageIndex < 12)) && (((propArr != null) && (propPctArr != null)) && (this.m_symbolPageArr != null)))
            {
                int index = 0;
                int num2  = 0x24;
                for (index = 0; index < num2; index++)
                {
                    propArr[index]    = 0;
                    propPctArr[index] = 0;
                }
                ulong[]   numArray       = this.m_symbolPageArr[pageIndex];
                CRoleInfo masterRoleInfo = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo();

                if ((masterRoleInfo != null) && (numArray != null))
                {
                    CUseableContainer useableContainer = masterRoleInfo.GetUseableContainer(enCONTAINER_TYPE.ITEM);
                    if (useableContainer == null)
                    {
                        DebugHelper.Assert(false, "GetSymbolPageProp container is null");
                    }
                    else
                    {
                        for (index = 0; index < numArray.Length; index++)
                        {
                            if (numArray[index] > 0L)
                            {
                                CUseable useableByObjID = useableContainer.GetUseableByObjID(numArray[index]);
                                if (useableByObjID != null)
                                {
                                    ResSymbolInfo dataByKey = GameDataMgr.symbolInfoDatabin.GetDataByKey(useableByObjID.m_baseID);
                                    if (dataByKey != null)
                                    {
                                        ResDT_FuncEft_Obj[] objArray = !bPvp ? dataByKey.astPveEftList : dataByKey.astFuncEftList;
                                        if (objArray != null)
                                        {
                                            for (int i = 0; i < objArray.Length; i++)
                                            {
                                                if (((objArray[i].wType != 0) && (objArray[i].wType < 0x24)) && (objArray[i].iValue != 0))
                                                {
                                                    if (objArray[i].bValType == 0)
                                                    {
                                                        propArr[objArray[i].wType] += objArray[i].iValue;
                                                    }
                                                    else if (objArray[i].bValType == 1)
                                                    {
                                                        propPctArr[objArray[i].wType] += objArray[i].iValue;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
Ejemplo n.º 12
0
        public void GetSymbolPageProp(int pageIndex, ref int[] propArr, ref int[] propPctArr, bool bPvp)
        {
            if (pageIndex < 0 || pageIndex >= 12 || propArr == null || propPctArr == null || this.m_symbolPageArr == null)
            {
                return;
            }
            int num = 37;

            for (int i = 0; i < num; i++)
            {
                propArr[i]    = 0;
                propPctArr[i] = 0;
            }
            ulong[]   array          = this.m_symbolPageArr[pageIndex];
            CRoleInfo masterRoleInfo = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo();

            if (masterRoleInfo != null && array != null)
            {
                CUseableContainer useableContainer = masterRoleInfo.GetUseableContainer(enCONTAINER_TYPE.ITEM);
                if (useableContainer == null)
                {
                    DebugHelper.Assert(false, "GetSymbolPageProp container is null");
                    return;
                }
                for (int i = 0; i < array.Length; i++)
                {
                    if (array[i] > 0uL)
                    {
                        CUseable useableByObjID = useableContainer.GetUseableByObjID(array[i]);
                        if (useableByObjID != null)
                        {
                            ResSymbolInfo dataByKey = GameDataMgr.symbolInfoDatabin.GetDataByKey(useableByObjID.m_baseID);
                            if (dataByKey != null)
                            {
                                ResDT_FuncEft_Obj[] array2 = (!bPvp) ? dataByKey.astPveEftList : dataByKey.astFuncEftList;
                                if (array2 != null)
                                {
                                    for (int j = 0; j < array2.Length; j++)
                                    {
                                        if (array2[j].wType != 0 && array2[j].wType < 37 && array2[j].iValue != 0)
                                        {
                                            if (array2[j].bValType == 0)
                                            {
                                                propArr[(int)array2[j].wType] += array2[j].iValue;
                                            }
                                            else if (array2[j].bValType == 1)
                                            {
                                                propPctArr[(int)array2[j].wType] += array2[j].iValue;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
Ejemplo n.º 13
0
        public static void ReciveItemAdd(CSPkg msg)
        {
            COMDT_ITEM_ADDLIST stAddList      = msg.stPkgData.stItemAdd.stAddList;
            CRoleInfo          masterRoleInfo = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo();

            CUseableContainer useableContainer = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo().GetUseableContainer(enCONTAINER_TYPE.ITEM);

            if (useableContainer != null)
            {
                COMDT_ITEM_ADDINFO comdt_item_addinfo = null;
                int iCount = 0;
                for (int i = 0; i < stAddList.wItemCnt; i++)
                {
                    comdt_item_addinfo = stAddList.astItemList[i];
                    if (comdt_item_addinfo.wItemType == 2)
                    {
                        iCount = comdt_item_addinfo.stItemInfo.stPropInfo.iOverCnt;
                    }
                    else if (comdt_item_addinfo.wItemType == 3)
                    {
                        iCount = comdt_item_addinfo.stItemInfo.stEquipInfo.iOverCnt;
                    }
                    else if (comdt_item_addinfo.wItemType == 5)
                    {
                        iCount = comdt_item_addinfo.stItemInfo.stSymbolInfo.iOverCnt;
                    }
                    CUseable useable = useableContainer.Add((COM_ITEM_TYPE)comdt_item_addinfo.wItemType, comdt_item_addinfo.ullUniqueID, comdt_item_addinfo.dwItemID, iCount, useableContainer.GetMaxAddTime());
                    if ((useable != null) && (((useable != null) && (useable.m_stackCount >= useable.m_stackMax)) && ((useable.m_type != COM_ITEM_TYPE.COM_OBJTYPE_ITEMSYMBOL) || !((CSymbolItem)useable).IsGuildSymbol())))
                    {
                        string[] args = new string[] { useable.m_name, useable.m_stackMax.ToString() };
                        Singleton <CUIManager> .GetInstance().OpenTips(Singleton <CTextManager> .GetInstance().GetText("Bag_Text_1", args), false, 1f, null, new object[0]);
                    }
                }
                Debug.Log("itemAdd");
                switch (msg.stPkgData.stItemAdd.bAddReason)
                {
                }
                Singleton <CBagSystem> .GetInstance().RefreshBagForm();

                Singleton <CHeroInfoSystem2> .GetInstance().RefreshHeroInfoForm();

                Singleton <CSymbolSystem> .GetInstance().RefreshSymbolForm();

                Singleton <CHeroAwakeSystem> .GetInstance().RefreshAwakeTaskForm();

                Singleton <CUIManager> .GetInstance().CloseSendMsgAlert();

                Singleton <EventRouter> .instance.BroadCastEvent(EventID.BAG_ITEMS_UPDATE);
            }
        }
        public int GetMaxExchangeCount()
        {
            int             num              = 0;
            ResDT_Item_Info resDT_Item_Info  = null;
            ResDT_Item_Info resDT_Item_Info2 = null;

            if (this.Config.bColItemCnt > 0)
            {
                resDT_Item_Info = this.Config.astColItemInfo[0];
            }
            if (this.Config.bColItemCnt > 1)
            {
                resDT_Item_Info2 = this.Config.astColItemInfo[1];
            }
            CUseableContainer useableContainer = Singleton <CRoleInfoManager> .instance.GetMasterRoleInfo().GetUseableContainer(enCONTAINER_TYPE.ITEM);

            if (useableContainer != null)
            {
                if (resDT_Item_Info != null)
                {
                    uint   dwItemID          = resDT_Item_Info.dwItemID;
                    ushort wItemType         = resDT_Item_Info.wItemType;
                    int    useableStackCount = useableContainer.GetUseableStackCount((COM_ITEM_TYPE)wItemType, dwItemID);
                    ushort wItemCnt          = resDT_Item_Info.wItemCnt;
                    int    num2 = useableStackCount / (int)wItemCnt;
                    num = num2;
                }
                if (resDT_Item_Info2 != null)
                {
                    uint   dwItemID2          = resDT_Item_Info2.dwItemID;
                    ushort wItemType2         = resDT_Item_Info2.wItemType;
                    int    useableStackCount2 = useableContainer.GetUseableStackCount((COM_ITEM_TYPE)wItemType2, dwItemID2);
                    ushort wItemCnt2          = resDT_Item_Info2.wItemCnt;
                    int    num3 = useableStackCount2 / (int)wItemCnt2;
                    num = Math.Min(num, num3);
                }
                ExchangeActivity exchangeActivity = base.Owner as ExchangeActivity;
                if (exchangeActivity != null)
                {
                    uint maxExchangeCount = exchangeActivity.GetMaxExchangeCount((int)this.Config.bIdx);
                    uint exchangeCount    = exchangeActivity.GetExchangeCount((int)this.Config.bIdx);
                    if (maxExchangeCount > 0u)
                    {
                        num = Math.Min(num, (int)(maxExchangeCount - exchangeCount));
                    }
                }
            }
            return(num);
        }
Ejemplo n.º 15
0
        public static List <uint> GetBagGuildSymbolIds()
        {
            List <uint>       list             = new List <uint>();
            CUseableContainer useableContainer = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo().GetUseableContainer(enCONTAINER_TYPE.ITEM);

            int curUseableCount = useableContainer.GetCurUseableCount();

            for (int i = 0; i < curUseableCount; i++)
            {
                CUseable useableByIndex = useableContainer.GetUseableByIndex(i);
                if (((useableByIndex != null) && (useableByIndex.m_type == COM_ITEM_TYPE.COM_OBJTYPE_ITEMSYMBOL)) && (GameDataMgr.symbolInfoDatabin.GetDataByKey(useableByIndex.m_baseID).dwGuildFacLv > 0))
                {
                    list.Add(useableByIndex.m_baseID);
                }
            }
            return(list);
        }
Ejemplo n.º 16
0
        public static void ReciveSymbolMakeRsp(CSPkg msg)
        {
            Singleton <CUIManager> .GetInstance().CloseSendMsgAlert();

            SCPKG_CMD_SYMBOL_MAKE stSymbolMakeRsp = msg.stPkgData.stSymbolMakeRsp;

            if (stSymbolMakeRsp.iResult == 0)
            {
                CUseable useable = CUseableManager.CreateUseable(COM_ITEM_TYPE.COM_OBJTYPE_ITEMSYMBOL, stSymbolMakeRsp.stSymbolInfo.dwSymbolID, stSymbolMakeRsp.stSymbolInfo.iSymbolCnt);
                if ((useable != null) && (((CSymbolItem)useable) != null))
                {
                    CUseableContainer container = new CUseableContainer(enCONTAINER_TYPE.ITEM);
                    container.Add(useable);
                    CUICommonSystem.ShowSymbol(container, enUIEventID.None);
                }
                Singleton <CSymbolSystem> .GetInstance().m_symbolMakeCtrl.RefreshSymbolTransformForm();
            }
        }
Ejemplo n.º 17
0
        public void OnSymbolChange(int page, int pos, ulong objId, out uint cfgId, out CSymbolInfo.enSymbolOperationType operType)
        {
            cfgId    = 0u;
            operType = CSymbolInfo.enSymbolOperationType.Wear;
            if (page < 0 || page >= this.m_pageCount)
            {
                return;
            }
            CUseableContainer useableContainer = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo().GetUseableContainer(enCONTAINER_TYPE.ITEM);

            if (this.m_symbolPageArr[page][pos] > 0uL)
            {
                if (objId > 0uL)
                {
                    ulong objId2 = this.m_symbolPageArr[page][pos];
                    this.m_symbolPageArr[page][pos] = objId;
                    this.SetSymbolItemWearCnt(objId2, page);
                    operType = CSymbolInfo.enSymbolOperationType.Replace;
                }
                else
                {
                    objId = this.m_symbolPageArr[page][pos];
                    this.m_symbolPageArr[page][pos] = 0uL;
                    operType = CSymbolInfo.enSymbolOperationType.TakeOff;
                }
            }
            else
            {
                this.m_symbolPageArr[page][pos] = objId;
                operType = CSymbolInfo.enSymbolOperationType.Wear;
            }
            CUseable useableByObjID = useableContainer.GetUseableByObjID(objId);

            if (useableByObjID != null)
            {
                CSymbolItem cSymbolItem = (CSymbolItem)useableByObjID;
                if (cSymbolItem != null)
                {
                    cfgId = cSymbolItem.m_SymbolData.dwID;
                    cSymbolItem.SetPageWearCnt(page, this.m_symbolPageArr[page]);
                }
            }
        }
Ejemplo n.º 18
0
 private static int ComparisonItem(CUseable a, CUseable b)
 {
     DebugHelper.Assert(a != null && b != null, "a = {0}, b = {1}", new object[]
     {
         a,
         b
     });
     a.m_itemSortNum = ((a == null) ? 0uL : ((a is CItem) ? CUseableContainer.GetSortNumByPropType((RES_PROP_TYPE_TYPE)(a as CItem).m_itemData.bType) : 0uL));
     b.m_itemSortNum = ((b == null) ? 0uL : ((b is CItem) ? CUseableContainer.GetSortNumByPropType((RES_PROP_TYPE_TYPE)(b as CItem).m_itemData.bType) : 0uL));
     if (a.m_itemSortNum < b.m_itemSortNum)
     {
         return(1);
     }
     if (a.m_itemSortNum > b.m_itemSortNum)
     {
         return(-1);
     }
     return((a.m_getTime == b.m_getTime) ? 0 : ((a.m_getTime > b.m_getTime) ? -1 : 1));
 }
Ejemplo n.º 19
0
 private static int ComparisonItem(CUseable a, CUseable b)
 {
     DebugHelper.Assert(a != null && b != null, "a = {0}, b = {1}", new object[]
     {
         a,
         b
     });
     a.m_itemSortNum = ((a != null) ? ((!(a is CItem)) ? 0uL : CUseableContainer.GetSortNumByPropType((a as CItem).m_itemData.bType)) : 0uL);
     b.m_itemSortNum = ((b != null) ? ((!(b is CItem)) ? 0uL : CUseableContainer.GetSortNumByPropType((b as CItem).m_itemData.bType)) : 0uL);
     if (a.m_itemSortNum < b.m_itemSortNum)
     {
         return(1);
     }
     if (a.m_itemSortNum > b.m_itemSortNum)
     {
         return(-1);
     }
     return((a.m_getTime != b.m_getTime) ? ((a.m_getTime <= b.m_getTime) ? 1 : -1) : 0);
 }
Ejemplo n.º 20
0
        private void OnBag_MenuSelect(CUIEvent uiEvent)
        {
            GameObject gameObject        = uiEvent.m_srcFormScript.gameObject;
            GameObject obj3              = gameObject.transform.Find("Panel_Left").gameObject;
            int        selectedIndex     = uiEvent.m_srcWidget.GetComponent <CUIListScript>().GetSelectedIndex();
            int        lastSelectedIndex = uiEvent.m_srcWidget.GetComponent <CUIListScript>().GetLastSelectedIndex();

            this.m_selectUseableType = (enItemMenuType)selectedIndex;
            CUseableContainer useableContainer = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo().GetUseableContainer(enCONTAINER_TYPE.ITEM);

            if (useableContainer != null)
            {
                CUseableContainer containerBySelectType = this.GetContainerBySelectType(useableContainer);
                if (containerBySelectType != null)
                {
                    containerBySelectType.SortItemBag();
                }
                this.m_selectUseableContainer = containerBySelectType;
                CUIListScript component = gameObject.transform.Find("Panel_Right/List").gameObject.GetComponent <CUIListScript>();
                component.SetElementAmount(this.m_selectUseableContainer.GetCurUseableCount());
                if (component.m_elementAmount == 0)
                {
                    obj3.CustomSetActive(false);
                }
                else
                {
                    int index = component.GetSelectedIndex();
                    if (((index < 0) || (index >= component.m_elementAmount)) || (selectedIndex != lastSelectedIndex))
                    {
                        component.SelectElement(0, true);
                        this.RefreshSelectItem(uiEvent.m_srcFormScript, uiEvent.m_srcFormScript.gameObject, 0);
                        component.MoveElementInScrollArea(0, true);
                    }
                    else
                    {
                        component.SelectElement(index, true);
                        this.RefreshSelectItem(uiEvent.m_srcFormScript, uiEvent.m_srcFormScript.gameObject, index);
                        component.MoveElementInScrollArea(index, true);
                    }
                }
            }
        }
Ejemplo n.º 21
0
        public void SetSymbolData()
        {
            CUseableContainer useableContainer = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo().GetUseableContainer(enCONTAINER_TYPE.ITEM);

            int curUseableCount = useableContainer.GetCurUseableCount();

            this.m_symbolList.Clear();
            for (int i = 0; i < curUseableCount; i++)
            {
                CUseable useableByIndex = useableContainer.GetUseableByIndex(i);
                if (useableByIndex.m_type == 5)
                {
                    CSymbolItem cSymbolItem = (CSymbolItem)useableByIndex;
                    if (cSymbolItem != null)
                    {
                        this.m_symbolList.Add(cSymbolItem);
                    }
                }
            }
        }
Ejemplo n.º 22
0
        private void OnSpeakerSend(CUIEvent uiEvent)
        {
            string inputText = this.GetInputText();

            if (string.IsNullOrEmpty(inputText))
            {
                Singleton <CUIManager> .get_instance().OpenTips("Chat_Common_Tips_10", true, 1.5f, null, new object[0]);

                return;
            }
            CUseableContainer useableContainer = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo().GetUseableContainer(enCONTAINER_TYPE.ITEM);

            CUseable useableByBaseID = useableContainer.GetUseableByBaseID(2, this.m_itemID);

            if (useableByBaseID == null)
            {
                return;
            }
            this.OnSpeakerSend(inputText, useableByBaseID.m_objID);
        }
Ejemplo n.º 23
0
        public bool CheckAnyWearSymbol(out int posId, out uint symbolId, byte colorType = 0)
        {
            posId    = 0;
            symbolId = 0u;
            CUseableContainer useableContainer = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo().GetUseableContainer(enCONTAINER_TYPE.ITEM);

            int         curUseableCount = useableContainer.GetCurUseableCount();
            CSymbolItem cSymbolItem     = null;
            int         num             = 0;

            for (int i = 0; i < curUseableCount; i++)
            {
                CUseable useableByIndex = useableContainer.GetUseableByIndex(i);
                if (useableByIndex.m_type == 5)
                {
                    CSymbolItem             cSymbolItem2 = (CSymbolItem)useableByIndex;
                    enFindSymbolWearPosCode enFindSymbolWearPosCode;
                    if (cSymbolItem2 != null && cSymbolItem2.m_stackCount > cSymbolItem2.GetPageWearCnt(0) && cSymbolItem2.GetPageWearCnt(0) < CSymbolWearController.s_maxSameIDSymbolEquipNum && this.GetWearPos(cSymbolItem2, 0, out num, out enFindSymbolWearPosCode))
                    {
                        if (colorType != 0)
                        {
                            if (cSymbolItem2.m_SymbolData.bColor == colorType && (cSymbolItem == null || cSymbolItem2.m_SymbolData.wLevel < cSymbolItem.m_SymbolData.wLevel))
                            {
                                cSymbolItem = cSymbolItem2;
                                posId       = num;
                                symbolId    = cSymbolItem2.m_baseID;
                            }
                        }
                        else if (cSymbolItem == null || cSymbolItem2.m_SymbolData.bColor < cSymbolItem.m_SymbolData.bColor || (cSymbolItem2.m_SymbolData.bColor == cSymbolItem.m_SymbolData.bColor && cSymbolItem2.m_SymbolData.wLevel < cSymbolItem.m_SymbolData.wLevel))
                        {
                            cSymbolItem = cSymbolItem2;
                            posId       = num;
                            symbolId    = cSymbolItem2.m_baseID;
                        }
                    }
                }
            }
            return(cSymbolItem != null);
        }
Ejemplo n.º 24
0
        public int GetSymbolPageEft(int pageIndex)
        {
            ulong[] pageSymbolData = this.GetPageSymbolData(pageIndex);
            if (pageSymbolData == null)
            {
                return(0);
            }
            int num = 0;
            CUseableContainer useableContainer = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo().GetUseableContainer(enCONTAINER_TYPE.ITEM);

            for (int i = 0; i < pageSymbolData.Length; i++)
            {
                if (pageSymbolData[i] > 0L)
                {
                    CSymbolItem useableByObjID = (CSymbolItem)useableContainer.GetUseableByObjID(pageSymbolData[i]);
                    if (useableByObjID != null)
                    {
                        num += useableByObjID.m_SymbolData.iCombatEft;
                    }
                }
            }
            return(num);
        }
Ejemplo n.º 25
0
        public void SetSymbolData()
        {
            CUseableContainer useableContainer = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo().GetUseableContainer(enCONTAINER_TYPE.ITEM);

            int      curUseableCount = useableContainer.GetCurUseableCount();
            CUseable useableByIndex  = null;

            this.m_symbolList.Clear();
            int index = 0;

            for (index = 0; index < curUseableCount; index++)
            {
                useableByIndex = useableContainer.GetUseableByIndex(index);
                if (useableByIndex.m_type == COM_ITEM_TYPE.COM_OBJTYPE_ITEMSYMBOL)
                {
                    CSymbolItem item = (CSymbolItem)useableByIndex;
                    if (item != null)
                    {
                        this.m_symbolList.Add(item);
                    }
                }
            }
        }
Ejemplo n.º 26
0
        private void OnClickStartMatch(CUIEvent uiEvt)
        {
            CRoleInfo masterRoleInfo = Singleton <CRoleInfoManager> .instance.GetMasterRoleInfo();

            if (masterRoleInfo != null)
            {
                CUseableContainer useableContainer = masterRoleInfo.GetUseableContainer(enCONTAINER_TYPE.ITEM);
                if (CUICommonSystem.IsMatchOpened(RES_BATTLE_MAP_TYPE.RES_BATTLE_MAP_TYPE_REWARDMATCH, this.m_selectMapID))
                {
                    int num             = useableContainer.GetUseableStackCount(COM_ITEM_TYPE.COM_OBJTYPE_ITEMPROP, this.m_selectMapRes.dwConsumPayItemID) + useableContainer.GetUseableStackCount(COM_ITEM_TYPE.COM_OBJTYPE_ITEMPROP, this.m_selectMapRes.dwConsumFreeItemID);
                    int dwCousumItemNum = (int)this.m_selectMapRes.dwCousumItemNum;
                    if (num >= dwCousumItemNum)
                    {
                        this.SendBeginMatchReq();
                    }
                    else
                    {
                        int      bCount  = dwCousumItemNum - num;
                        CUseable useable = CUseableManager.CreateUseable(COM_ITEM_TYPE.COM_OBJTYPE_ITEMPROP, this.m_selectMapRes.dwConsumPayItemID, bCount);
                        if (useable != null)
                        {
                            int             num4               = (int)(useable.GetBuyPrice((RES_SHOPBUY_COINTYPE)this.m_selectMapRes.bCoinType) * bCount);
                            enPayType       payType            = CMallSystem.ResBuyTypeToPayType(this.m_selectMapRes.bCoinType);
                            stUIEventParams confirmEventParams = new stUIEventParams {
                                tag = bCount
                            };
                            string[] args = new string[] { bCount.ToString(), useable.m_name };
                            CMallSystem.TryToPay(enPayPurpose.Buy, Singleton <CTextManager> .GetInstance().GetText("Union_Battle_Tips5", args), payType, (uint)num4, enUIEventID.Union_Battle_ConfirmBuyItem, ref confirmEventParams, enUIEventID.None, true, true);
                        }
                    }
                }
                else
                {
                    Singleton <CUIManager> .instance.OpenTips("Union_Battle_Tips4", true, 1f, null, new object[0]);
                }
            }
        }
Ejemplo n.º 27
0
            public void Validate()
            {
                if ((this.phase != null) && (this.uiItem != null))
                {
                    this.uiItem.CustomSetActive(true);
                    ResDT_Item_Info info          = null;
                    ResDT_Item_Info info2         = null;
                    ResDT_Item_Info stResItemInfo = null;
                    stResItemInfo = this.phase.Config.stResItemInfo;
                    if (this.phase.Config.bColItemCnt > 0)
                    {
                        info = this.phase.Config.astColItemInfo[0];
                    }
                    if (this.phase.Config.bColItemCnt > 1)
                    {
                        info2 = this.phase.Config.astColItemInfo[1];
                    }
                    CUseableContainer useableContainer = Singleton <CRoleInfoManager> .instance.GetMasterRoleInfo().GetUseableContainer(enCONTAINER_TYPE.ITEM);

                    if (useableContainer != null)
                    {
                        int num  = (info != null) ? useableContainer.GetUseableStackCount((COM_ITEM_TYPE)info.wItemType, info.dwItemID) : 0;
                        int num2 = (info2 != null) ? useableContainer.GetUseableStackCount((COM_ITEM_TYPE)info2.wItemType, info2.dwItemID) : 0;
                        if (stResItemInfo != null)
                        {
                            GameObject gameObject = this.uiItem.transform.FindChild("DuihuanBtn").gameObject;
                            gameObject.GetComponent <CUIEventScript>().m_onClickEventParams.commonUInt32Param1 = (uint)this.index;
                            bool isEnable = this.owner.view.activity.timeState == Activity.TimeState.Going;
                            CUICommonSystem.SetButtonEnable(gameObject.GetComponent <Button>(), isEnable, isEnable, true);
                            if (info != null)
                            {
                                CUseable   useable2 = CUseableManager.CreateUseable((COM_ITEM_TYPE)info.wItemType, info.dwItemID, 1);
                                GameObject obj3     = this.uiItem.transform.FindChild("Panel/ItemCell1").gameObject;
                                CUICommonSystem.SetItemCell(this.owner.view.form.formScript, obj3, useable2, true, false);
                                int    useableStackCount = useableContainer.GetUseableStackCount((COM_ITEM_TYPE)info.wItemType, info.dwItemID);
                                ushort wItemCnt          = info.wItemCnt;
                                Text   component         = this.uiItem.transform.FindChild("Panel/ItemCell1/ItemCount").gameObject.GetComponent <Text>();
                                if (useableStackCount < wItemCnt)
                                {
                                    component.text = string.Format(Singleton <CTextManager> .GetInstance().GetText("Exchange_ItemNotEnoughCount"), useableStackCount, wItemCnt);
                                    CUICommonSystem.SetButtonEnable(gameObject.GetComponent <Button>(), false, false, true);
                                }
                                else
                                {
                                    component.text = string.Format(Singleton <CTextManager> .GetInstance().GetText("Exchange_ItemCount"), useableStackCount, wItemCnt);
                                }
                            }
                            if (info2 != null)
                            {
                                CUseable   useable3 = CUseableManager.CreateUseable((COM_ITEM_TYPE)info2.wItemType, info2.dwItemID, 1);
                                GameObject obj4     = this.uiItem.transform.FindChild("Panel/ItemCell2").gameObject;
                                obj4.CustomSetActive(true);
                                CUICommonSystem.SetItemCell(this.owner.view.form.formScript, obj4, useable3, true, false);
                                int    num5  = useableContainer.GetUseableStackCount((COM_ITEM_TYPE)info2.wItemType, info2.dwItemID);
                                ushort num6  = info2.wItemCnt;
                                Text   text2 = this.uiItem.transform.FindChild("Panel/ItemCell2/ItemCount").gameObject.GetComponent <Text>();
                                if (num5 < num6)
                                {
                                    text2.text = string.Format(Singleton <CTextManager> .GetInstance().GetText("Exchange_ItemNotEnoughCount"), num5, num6);
                                    CUICommonSystem.SetButtonEnable(gameObject.GetComponent <Button>(), false, false, true);
                                }
                                else
                                {
                                    text2.text = string.Format(Singleton <CTextManager> .GetInstance().GetText("Exchange_ItemCount"), num5, num6);
                                }
                            }
                            else
                            {
                                this.uiItem.transform.FindChild("Panel/ItemCell2").gameObject.CustomSetActive(false);
                                this.uiItem.transform.FindChild("Panel/Add").gameObject.CustomSetActive(false);
                            }
                            CUseable   itemUseable = CUseableManager.CreateUseable((COM_ITEM_TYPE)stResItemInfo.wItemType, stResItemInfo.dwItemID, stResItemInfo.wItemCnt);
                            GameObject itemCell    = this.uiItem.transform.FindChild("Panel/GetItemCell").gameObject;
                            CUICommonSystem.SetItemCell(this.owner.view.form.formScript, itemCell, itemUseable, true, false);
                            ExchangeActivity activity = this.owner.view.activity as ExchangeActivity;
                            if (activity != null)
                            {
                                GameObject obj8             = this.uiItem.transform.FindChild("ExchangeCount").gameObject;
                                uint       maxExchangeCount = activity.GetMaxExchangeCount(this.phase.Config.bIdx);
                                uint       exchangeCount    = activity.GetExchangeCount(this.phase.Config.bIdx);
                                if (maxExchangeCount > 0)
                                {
                                    obj8.CustomSetActive(true);
                                    obj8.GetComponent <Text>().text = string.Format(Singleton <CTextManager> .GetInstance().GetText("Exchange_TimeLimit"), exchangeCount, maxExchangeCount);
                                    if (exchangeCount >= maxExchangeCount)
                                    {
                                        CUICommonSystem.SetButtonEnable(gameObject.GetComponent <Button>(), false, false, true);
                                    }
                                }
                                else
                                {
                                    obj8.CustomSetActive(false);
                                }
                            }
                        }
                    }
                }
            }
Ejemplo n.º 28
0
        private void UpdateOneElement(int index)
        {
            ListView <ActivityPhase> phaseList = base.view.activity.PhaseList;

            if ((index < phaseList.Count) && (this._elementsGo != null))
            {
                ExchangePhase phase = phaseList[index] as ExchangePhase;
                GameObject    obj2  = null;
                bool          flag  = this._elementsGo.TryGetValue(index, out obj2);
                if ((phase != null) && (obj2 != null))
                {
                    obj2.CustomSetActive(true);
                    ResDT_Item_Info info          = null;
                    ResDT_Item_Info info2         = null;
                    ResDT_Item_Info stResItemInfo = null;
                    stResItemInfo = phase.Config.stResItemInfo;
                    if (phase.Config.bColItemCnt > 0)
                    {
                        info = phase.Config.astColItemInfo[0];
                    }
                    if (phase.Config.bColItemCnt > 1)
                    {
                        info2 = phase.Config.astColItemInfo[1];
                    }
                    CUseableContainer useableContainer = Singleton <CRoleInfoManager> .instance.GetMasterRoleInfo().GetUseableContainer(enCONTAINER_TYPE.ITEM);

                    if (useableContainer != null)
                    {
                        int num  = (info != null) ? useableContainer.GetUseableStackCount((COM_ITEM_TYPE)info.wItemType, info.dwItemID) : 0;
                        int num2 = (info2 != null) ? useableContainer.GetUseableStackCount((COM_ITEM_TYPE)info2.wItemType, info2.dwItemID) : 0;
                        if (stResItemInfo != null)
                        {
                            GameObject gameObject = obj2.transform.FindChild("DuihuanBtn").gameObject;
                            gameObject.GetComponent <CUIEventScript>().m_onClickEventParams.commonUInt64Param1 = phase.Config.bIdx;
                            if (base.view.activity.timeState == Activity.TimeState.Close)
                            {
                                CUICommonSystem.SetButtonEnable(gameObject.GetComponent <Button>(), false, false, true);
                            }
                            if (info != null)
                            {
                                CUseable   useable2 = CUseableManager.CreateUseable((COM_ITEM_TYPE)info.wItemType, info.dwItemID, 1);
                                GameObject obj4     = obj2.transform.FindChild("Panel/ItemCell1").gameObject;
                                CUICommonSystem.SetItemCell(base.view.form.formScript, obj4, useable2, true, false);
                                int    useableStackCount = useableContainer.GetUseableStackCount((COM_ITEM_TYPE)info.wItemType, info.dwItemID);
                                ushort wItemCnt          = info.wItemCnt;
                                Text   component         = obj2.transform.FindChild("Panel/ItemCell1/ItemCount").gameObject.GetComponent <Text>();
                                if (useableStackCount < wItemCnt)
                                {
                                    component.text = string.Format(Singleton <CTextManager> .GetInstance().GetText("Exchange_ItemNotEnoughCount"), useableStackCount, wItemCnt);
                                    CUICommonSystem.SetButtonEnable(gameObject.GetComponent <Button>(), false, false, true);
                                }
                                else
                                {
                                    component.text = string.Format(Singleton <CTextManager> .GetInstance().GetText("Exchange_ItemCount"), useableStackCount, wItemCnt);
                                }
                            }
                            if (info2 != null)
                            {
                                CUseable   useable3 = CUseableManager.CreateUseable((COM_ITEM_TYPE)info2.wItemType, info2.dwItemID, 1);
                                GameObject obj5     = obj2.transform.FindChild("Panel/ItemCell2").gameObject;
                                obj5.CustomSetActive(true);
                                CUICommonSystem.SetItemCell(base.view.form.formScript, obj5, useable3, true, false);
                                int    num5  = useableContainer.GetUseableStackCount((COM_ITEM_TYPE)info2.wItemType, info2.dwItemID);
                                ushort num6  = info2.wItemCnt;
                                Text   text2 = obj2.transform.FindChild("Panel/ItemCell2/ItemCount").gameObject.GetComponent <Text>();
                                if (num5 < num6)
                                {
                                    text2.text = string.Format(Singleton <CTextManager> .GetInstance().GetText("Exchange_ItemNotEnoughCount"), num5, num6);
                                    CUICommonSystem.SetButtonEnable(gameObject.GetComponent <Button>(), false, false, true);
                                }
                                else
                                {
                                    text2.text = string.Format(Singleton <CTextManager> .GetInstance().GetText("Exchange_ItemCount"), num5, num6);
                                }
                            }
                            else
                            {
                                obj2.transform.FindChild("Panel/ItemCell2").gameObject.CustomSetActive(false);
                                obj2.transform.FindChild("Panel/Add").gameObject.CustomSetActive(false);
                            }
                            CUseable   itemUseable = CUseableManager.CreateUseable((COM_ITEM_TYPE)stResItemInfo.wItemType, stResItemInfo.dwItemID, 1);
                            GameObject itemCell    = obj2.transform.FindChild("Panel/GetItemCell").gameObject;
                            CUICommonSystem.SetItemCell(base.view.form.formScript, itemCell, itemUseable, true, false);
                            ExchangeActivity activity = base.view.activity as ExchangeActivity;
                            if (activity != null)
                            {
                                GameObject obj9             = obj2.transform.FindChild("ExchangeCount").gameObject;
                                uint       maxExchangeCount = activity.GetMaxExchangeCount(phase.Config.bIdx);
                                uint       exchangeCount    = activity.GetExchangeCount(phase.Config.bIdx);
                                if (maxExchangeCount > 0)
                                {
                                    obj9.CustomSetActive(true);
                                    obj9.GetComponent <Text>().text = string.Format(Singleton <CTextManager> .GetInstance().GetText("Exchange_TimeLimit"), exchangeCount, maxExchangeCount);
                                    if (exchangeCount >= maxExchangeCount)
                                    {
                                        CUICommonSystem.SetButtonEnable(gameObject.GetComponent <Button>(), false, false, true);
                                    }
                                }
                                else
                                {
                                    obj9.CustomSetActive(false);
                                }
                            }
                        }
                    }
                }
            }
        }
Ejemplo n.º 29
0
        public CSymbolBuyPickDialog(ResSymbolInfo symbolInfo, RES_SHOPBUY_COINTYPE coinType, float discount, CSymbolBuyPickDialog.OnConfirmBuyDelegate onConfirm, CSymbolBuyPickDialog.OnConfirmBuyCommonDelegate onConfirmCommon = null, CUIEvent uieventPars = null)
        {
            CRoleInfo masterRoleInfo = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo();

            if (masterRoleInfo == null)
            {
                return;
            }
            CUseableContainer useableContainer = masterRoleInfo.GetUseableContainer(enCONTAINER_TYPE.ITEM);

            this._usb = (useableContainer.GetUseableByBaseID(5, symbolInfo.dwID) as CSymbolItem);
            if (this._usb == null)
            {
                this._usb = (CUseableManager.CreateUseable(5, symbolInfo.dwID, 0) as CSymbolItem);
            }
            if (this._usb == null)
            {
                return;
            }
            CUIFormScript cUIFormScript = Singleton <CUIManager> .GetInstance().OpenForm(CSymbolBuyPickDialog.s_Form_Path, false, true);

            if (null != cUIFormScript)
            {
                this._root        = cUIFormScript.gameObject;
                this._itemCell    = Utility.FindChild(this._root, "Panel/itemCell");
                this._callContext = symbolInfo;
                this._count       = 1u;
                if ((long)this._usb.m_stackCount >= 10L)
                {
                    this._maxCount = 1u;
                }
                else
                {
                    this._maxCount = (uint)(10 - this._usb.m_stackCount);
                }
                this._onConfirm        = onConfirm;
                this._onConfirmdCommon = onConfirmCommon;
                this._uieventPars      = uieventPars;
                this._coinType         = coinType;
                this._realDiscount     = discount;
                if (this._usb != null)
                {
                    this._countText = Utility.GetComponetInChild <Text>(this._root, "Panel/Count");
                    this._costText  = Utility.GetComponetInChild <Text>(this._root, "Panel/Cost");
                    CUICommonSystem.SetItemCell(cUIFormScript, this._itemCell, this._usb, true, false, false, false);
                    this._descText = Utility.GetComponetInChild <Text>(this._root, "Panel/itemCell/SymbolDesc");
                    if (this._descText != null)
                    {
                        this._descText.text = CSymbolSystem.GetSymbolAttString(symbolInfo.dwID, true);
                    }
                    this._coinUsb = CUseableManager.CreateCoinUseable(coinType, 0);
                    if (this._coinUsb != null)
                    {
                        Utility.GetComponetInChild <Image>(this._root, "Panel/Cost/CoinType").SetSprite(CUIUtility.GetSpritePrefeb(this._coinUsb.GetIconPath(), false, false), false);
                        Utility.GetComponetInChild <Text>(this._root, "Panel/Price").text = this._usb.GetBuyPrice(this._coinType).ToString();
                    }
                }
                Singleton <CUIEventManager> .GetInstance().AddUIEventListener(enUIEventID.BuyPick_CloseForm, new CUIEventManager.OnUIEventHandler(this.OnCloseForm));

                Singleton <CUIEventManager> .GetInstance().AddUIEventListener(enUIEventID.BuyPick_Add, new CUIEventManager.OnUIEventHandler(this.OnClickAdd));

                Singleton <CUIEventManager> .GetInstance().AddUIEventListener(enUIEventID.BuyPick_Dec, new CUIEventManager.OnUIEventHandler(this.OnClickDec));

                Singleton <CUIEventManager> .GetInstance().AddUIEventListener(enUIEventID.BuyPick_Max, new CUIEventManager.OnUIEventHandler(this.OnClickMax));

                Singleton <CUIEventManager> .GetInstance().AddUIEventListener(enUIEventID.BuyPick_Confirm, new CUIEventManager.OnUIEventHandler(this.OnClickConfirm));

                Singleton <CUIEventManager> .GetInstance().AddUIEventListener(enUIEventID.BuyPick_Cancel, new CUIEventManager.OnUIEventHandler(this.OnClickCancel));

                Singleton <CUIEventManager> .GetInstance().AddUIEventListener(enUIEventID.BuyPick_ConfirmFactoryShopBuy, new CUIEventManager.OnUIEventHandler(this.OnConfirmFactoryShopBuy));

                this.ValidateDynamic();
            }
        }
Ejemplo n.º 30
0
        public void OpenSpeakerForm(uint itemID)
        {
            if (itemID == 10041u || itemID == 10042u)
            {
                CRoleInfo masterRoleInfo = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo();

                if (masterRoleInfo == null)
                {
                    return;
                }
                CUseableContainer useableContainer = masterRoleInfo.GetUseableContainer(enCONTAINER_TYPE.ITEM);
                if (useableContainer == null)
                {
                    return;
                }
                if (useableContainer.GetUseableStackCount(2, itemID) == 0)
                {
                    CMallFactoryShopController.ShopProduct product;
                    if (itemID == 10041u)
                    {
                        product = Singleton <CMallFactoryShopController> .GetInstance().GetProduct(GameDataMgr.globalInfoDatabin.GetDataByKey(212u).dwConfValue);
                    }
                    else
                    {
                        product = Singleton <CMallFactoryShopController> .GetInstance().GetProduct(GameDataMgr.globalInfoDatabin.GetDataByKey(211u).dwConfValue);
                    }
                    if (product != null)
                    {
                        CUIEvent uIEvent = Singleton <CUIEventManager> .GetInstance().GetUIEvent();

                        uIEvent.m_eventID = enUIEventID.Mall_Buy_Product_Confirm;
                        uIEvent.m_eventParams.commonUInt64Param1 = (ulong)product.Key;
                        uIEvent.m_eventParams.commonUInt32Param1 = 1u;
                        Singleton <CMallFactoryShopController> .GetInstance().BuyShopProduct(product, 1u, true, uIEvent);
                    }
                    return;
                }
                ResHornInfo dataByKey = GameDataMgr.speakerDatabin.GetDataByKey(itemID);
                this.m_itemID         = itemID;
                this.m_characterLimit = dataByKey.dwWordLimit;
                if (dataByKey == null)
                {
                    return;
                }
                CUIFormScript cUIFormScript = Singleton <CUIManager> .get_instance().OpenForm(CLoudSpeakerSys.SPEAKER_FORM_PATH, false, false);

                if (cUIFormScript == null || cUIFormScript.gameObject == null)
                {
                    return;
                }
                GameObject     obj              = Utility.FindChild(cUIFormScript.gameObject, "pnlBg/Title/speakerText");
                GameObject     obj2             = Utility.FindChild(cUIFormScript.gameObject, "pnlBg/Title/loudSpeakerText");
                GameObject     obj3             = Utility.FindChild(cUIFormScript.gameObject, "pnlBg/Model/speaker");
                GameObject     obj4             = Utility.FindChild(cUIFormScript.gameObject, "pnlBg/Model/loudspeaker");
                InputField     componetInChild  = Utility.GetComponetInChild <InputField>(cUIFormScript.gameObject, "pnlBg/Panel_Main/InputField");
                CUITimerScript componetInChild2 = Utility.GetComponetInChild <CUITimerScript>(cUIFormScript.gameObject, "Timer");
                componetInChild2.ReStartTimer();
                if (itemID == 10041u)
                {
                    obj.CustomSetActive(true);
                    obj2.CustomSetActive(false);
                    obj3.CustomSetActive(true);
                    obj4.CustomSetActive(false);
                    componetInChild.characterLimit = (int)this.m_characterLimit;
                }
                else
                {
                    obj.CustomSetActive(false);
                    obj2.CustomSetActive(true);
                    obj3.CustomSetActive(false);
                    obj4.CustomSetActive(true);
                    componetInChild.characterLimit = (int)this.m_characterLimit;
                }
            }
        }