Exemplo n.º 1
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]);
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 2
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]);
                }
            }
        }