Пример #1
0
        public void SendSellC2S(int goodsIndex, PlayerBagItemType currentGoodsType, PlayerBagItemType bagType, int sellCount)
        {
            UILockManager.SetGroupState(UIEventGroup.Middle, UIEventState.WaitNetwork);
            long itemId = 0L;

            //switch ( currentGoodsType )
            //{
            //    case PlayerBagItemType.Nem:
            //    case PlayerBagItemType.Component:
            //    case PlayerBagItemType.BluePrintItem:
            //        itemId = GetBagGoodsList( bagType )[goodsIndex].metaId;
            //        break;
            //    case PlayerBagItemType.GearItem:
            //        itemId = GetBagGoodsList( bagType )[goodsIndex].itemId;
            //        break;
            //    default:
            //        DebugUtils.Log( DebugUtils.Type.UI, "Goods Type is wrong~~~" );
            //        break;
            //}

            //BlackMarketSellC2S blackMarketSellData = new BlackMarketSellC2S();

            // blackMarketSellData.itemId = itemId;
            //blackMarketSellData.itemType = currentGoodsType;
            // blackMarketSellData.sellCount = sellCount;

            // byte[] data = ProtobufUtils.Serialize( blackMarketSellData );

            //NetworkManager.SendRequest( MsgCode.BlackMarketSellMessage, data );
        }
Пример #2
0
        public string GetGoodsItemName(BlackMarketType type, PlayerBagItemType bagType, int goodsIndex)
        {
            if (type == BlackMarketType.Buy)
            {
                int blackMarketId = DataManager.GetInstance().GetPlayerBlackMarketInfo().slots[goodsIndex].blackMarketPriceId;
                //return blackMarketPriceProto.blackMarketPrices.Find( p => p.ID == blackMarketId ).Name;
            }

            int itemId = GetBagGoodsList(bagType)[goodsIndex].metaId;
            //int goodsType = blackMarketPriceProto.blackMarketPrices.Find( p => p.ItemID == itemId ).Type;

            string name = "";

            //switch ( (PlayerBagItemType)goodsType )
            //{
            //    case PlayerBagItemType.ItemNone:
            //        break;
            //    case PlayerBagItemType.Component:
            //    case PlayerBagItemType.ExpItem:
            //    case PlayerBagItemType.Nem:
            //    case PlayerBagItemType.BluePrintItem:
            //        name = componentProto.components.Find( p => p.ID == itemId ).Name;
            //        break;
            //    case PlayerBagItemType.GearItem:
            //        name = gearProto.gears.Find( p => p.ID == itemId ).Name;
            //        break;

            //    default:
            //        DebugUtils.Log( DebugUtils.Type.UI, "the goods type is wrong~~" );
            //        break;
            //}
            return(name);
        }
Пример #3
0
        public string GetGoodsItemDescription(BlackMarketType type, PlayerBagItemType bagType, int goodsIndex)
        {
            int itemId;
            int goodsType;
            int descriptionId = 0;

            if (type == BlackMarketType.Buy)
            {
                int blackMarketId = DataManager.GetInstance().GetPlayerBlackMarketInfo().slots[goodsIndex].blackMarketPriceId;
                ///itemId = blackMarketPriceProto.blackMarketPrices.Find( p => p.ID == blackMarketId ).ItemID;
                //goodsType = blackMarketPriceProto.blackMarketPrices.Find( p => p.ID == blackMarketId ).Type;
            }
            else
            {
                itemId = GetBagGoodsList(bagType)[goodsIndex].metaId;
                //goodsType = blackMarketPriceProto.blackMarketPrices.Find( p => p.ItemID == itemId ).Type;
            }
            //switch ( (PlayerBagItemType)goodsType )
            //{
            //    case PlayerBagItemType.ItemNone:
            //        break;
            //    case PlayerBagItemType.Component:
            //    case PlayerBagItemType.ExpItem:
            //    case PlayerBagItemType.Nem:
            //    case PlayerBagItemType.BluePrintItem:
            //        return componentProto.components.Find( p => p.ID == itemId ).Name;
            //    case PlayerBagItemType.GearItem:
            //        descriptionId = gearProto.gears.Find( p => p.ID == itemId ).Description;
            //        break;
            //    default:
            //        break;
            //}
            return(localizationProto.Find(p => p.ID == descriptionId).Chinese);
        }
Пример #4
0
        public int GetGoodsItemQuantity(BlackMarketType type, PlayerBagItemType bagType, int goodsIndex)
        {
            if (type == BlackMarketType.Buy)
            {
                return(1);
            }

            int itemId = GetBagGoodsList(bagType)[goodsIndex].metaId;
            //int goodsType = blackMarketPriceProto.blackMarketPrices.Find( p => p.ItemID == itemId ).Type;

            //PlayerBagInfo gearBag = DataManager.GetInstance().GetPlayerBag( BagType.GearBag );
            //PlayerBagInfo itemBag = DataManager.GetInstance().GetPlayerBag( BagType.ItemBag );

            int count = 0;

            //switch ( (PlayerBagItemType)goodsType )
            //{
            //    case PlayerBagItemType.ItemNone:
            //        break;
            //    case PlayerBagItemType.Component:
            //    case PlayerBagItemType.ExpItem:
            //    case PlayerBagItemType.Nem:
            //    case PlayerBagItemType.BluePrintItem:
            //        count = itemBag.itemList.Find( p => p.metaId == itemId ).count;

            //        if ( type == BlackMarketType.ExChange )
            //        {
            //            foreach ( ItemInfo item in exChangeItemList )
            //            {
            //                if ( item.metaId == GetBagGoodsList( bagType )[goodsIndex].metaId )
            //                    count--;
            //            }
            //        }
            //        break;
            //    case PlayerBagItemType.GearItem:
            //        count = gearBag.itemList.Find( p => p.metaId == itemId ).count;

            //        if ( type == BlackMarketType.ExChange )
            //        {
            //            foreach ( ItemInfo item in exChangeItemList )
            //            {
            //                if ( item.itemId == GetBagGoodsList( bagType )[goodsIndex].itemId )
            //                    count--;
            //            }
            //        }
            //        break;

            //    default:
            //        DebugUtils.Log( DebugUtils.Type.UI, "the goods type is wrong~~" );
            //        break;
            //}
            if (count < 0)
            {
                return(0);
            }

            return(count);
        }
Пример #5
0
        public int GetGoodsItemCost(BlackMarketType type, PlayerBagItemType bagType, int goodsIndex)
        {
            if (type == BlackMarketType.Buy)
            {
                int blackMarketId = DataManager.GetInstance().GetPlayerBlackMarketInfo().slots[goodsIndex].blackMarketPriceId;
                // return blackMarketPriceProto.blackMarketPrices.Find( p => p.ID == blackMarketId ).CurrencyValue;
            }

            int itemId    = GetBagGoodsList(bagType)[goodsIndex].metaId;
            int goodsType = GetBagGoodsList(bagType)[goodsIndex].itemType;

            //int cost = ( blackMarketPriceProto.blackMarketPrices.FindAll( p => p.Type == goodsType ).Find( p => p.ItemID == itemId ).CurrencyValue ) / 3;

            return(1);
        }
Пример #6
0
        public CurrencyType GetGoodsItemCurrencyType(BlackMarketType type, PlayerBagItemType bagType, int goodsIndex)
        {
            if (type == BlackMarketType.Buy)
            {
                int blackMarketId = DataManager.GetInstance().GetPlayerBlackMarketInfo().slots[goodsIndex].blackMarketPriceId;
                //return (CurrencyType)( blackMarketPriceProto.blackMarketPrices.Find( p => p.ID == blackMarketId ).CurrencyType );
            }

            int itemId   = GetBagGoodsList(bagType)[goodsIndex].metaId;
            int costType = 1;

            //costType = blackMarketPriceProto.blackMarketPrices.Find( p => p.ItemID == itemId ).CurrencyType;

            return((CurrencyType)costType);
        }
Пример #7
0
        public string GetGoodsItemType(BlackMarketType type, PlayerBagItemType bagType, int goodsIndex)
        {
            string typeString = "";

            if (type == BlackMarketType.Buy)
            {
                int blackMarketId = DataManager.GetInstance().GetPlayerBlackMarketInfo().slots[goodsIndex].blackMarketPriceId;
                //int itemId = blackMarketPriceProto.blackMarketPrices.Find( p => p.ID == blackMarketId ).ItemID;
                //int goodsType = blackMarketPriceProto.blackMarketPrices.Find( p => p.ID == blackMarketId ).Type;
                //typeString = ( (PlayerBagItemType)goodsType ).ToString();
            }
            else
            {
                typeString = bagType.ToString();
            }
            return(typeString);
        }
Пример #8
0
        public int GetGoodsCount(BlackMarketType type, PlayerBagItemType bagType)
        {
            int count = 0;

            switch (type)
            {
            case BlackMarketType.Buy:
                count = DataManager.GetInstance().GetPlayerBlackMarketInfo().slots.Count;
                break;

            case BlackMarketType.Sell:
            case BlackMarketType.ExChange:
                count = GetBagGoodsList(bagType).Count;
                break;
            }
            return(count);
        }
Пример #9
0
        public int GetGoodsItemIcon(BlackMarketType type, PlayerBagItemType bagType, int goodsIndex)
        {
            int icon = 0;
            int itemId;
            int goodsType;

            if (type == BlackMarketType.Buy)
            {
                int blackMarketId = DataManager.GetInstance().GetPlayerBlackMarketInfo().slots[goodsIndex].blackMarketPriceId;
                //itemId = blackMarketPriceProto.blackMarketPrices.Find( p => p.ID == blackMarketId ).ItemID;
                //goodsType = blackMarketPriceProto.blackMarketPrices.Find( p => p.ID == blackMarketId ).Type;
            }
            else
            {
                itemId = GetBagGoodsList(bagType)[goodsIndex].metaId;
                //goodsType = blackMarketPriceProto.blackMarketPrices.Find( p => p.ItemID == itemId ).Type;
            }

            //switch ( (PlayerBagItemType)goodsType )
            //{
            //    case PlayerBagItemType.ItemNone:
            //        break;
            //    case PlayerBagItemType.Component:
            //    case PlayerBagItemType.ExpItem:
            //    case PlayerBagItemType.Nem:
            //    case PlayerBagItemType.BluePrintItem:
            //        icon = componentProto.components.Find( p => p.ID == itemId ).Icon;
            //        break;
            //    case PlayerBagItemType.GearItem:
            //        icon = gearProto.gears.Find( p => p.ID == itemId ).Icon;
            //        break;
            //    default:
            //        DebugUtils.Log( DebugUtils.Type.UI, "the goods type is wrong~~" );
            //        break;
            //}

            if (icon == 0)
            {
                DebugUtils.Log(DebugUtils.Type.UI, "Read Excel is wrong or the Excel is wrong~~~");
            }

            return(icon);
        }
Пример #10
0
        //Goods Data
        public List <ItemInfo> GetBagGoodsList(PlayerBagItemType bagType)
        {
            List <ItemInfo> itemList = new List <ItemInfo>();

            //PlayerBagInfo gearBag = DataManager.GetInstance().GetPlayerBag( BagType.GearBag );
            //PlayerBagInfo itemBag = DataManager.GetInstance().GetPlayerBag( BagType.ItemBag );

            //switch ( bagType )
            //{
            //    case PlayerBagItemType.Component:
            //    case PlayerBagItemType.ExpItem:
            //    case PlayerBagItemType.Nem:
            //    case PlayerBagItemType.BluePrintItem:
            //        itemList = itemBag.itemList.FindAll( p => p.itemType == (int)bagType );
            //        break;
            //    case PlayerBagItemType.GearItem:
            //        itemList = gearBag.itemList;
            //        break;
            //}

            return(itemList);
        }
Пример #11
0
        private void HandleGainItemFeedback(byte[] data)
        {
            GainS2C feedback = ProtobufUtils.Deserialize <GainS2C>(data);

            if (feedback == null)
            {
                DebugUtils.LogError(DebugUtils.Type.UI, "GainItem~~~~Feedback is null");
                return;
            }
            if (feedback.result)
            {
                for (int i = 0; i < feedback.items.Count; i++)
                {
                    PlayerBagItemType type = (PlayerBagItemType)feedback.items[i].itemType;

                    PlayerBagInfo bag_complex = GetBag(BagType.ComplexBag);
                    PlayerBagInfo bag_box     = GetBag(BagType.BoxBag);
                    PlayerBagInfo bag_debris  = GetBag(BagType.DebrisBag);
                    PlayerBagInfo bag_rune    = GetBag(BagType.RuneBag);

                    switch (type)
                    {
                    case PlayerBagItemType.RuneItem:
                        int      id_rune   = feedback.items[i].metaId;
                        ItemInfo info_rune = bag_rune.itemList.Find(p => p.metaId == id_rune);

                        if (info_rune == null)
                        {
                            bag_rune.itemList.Add(feedback.items[i]);
                        }
                        else
                        {
                            info_rune.count += feedback.items[i].count;
                        }
                        break;

                    case PlayerBagItemType.BoxItem:
                        int      id_box   = feedback.items[i].metaId;
                        ItemInfo info_box = bag_box.itemList.Find(p => p.metaId == id_box);

                        if (info_box == null)
                        {
                            bag_box.itemList.Add(feedback.items[i]);
                        }
                        else
                        {
                            info_box.count += feedback.items[i].count;
                        }
                        break;

                    case PlayerBagItemType.UnitDebrisItem:
                        int      id_unitD   = feedback.items[i].metaId;
                        ItemInfo info_unitD = bag_debris.itemList.Find(p => p.metaId == id_unitD);

                        if (info_unitD == null)
                        {
                            bag_debris.itemList.Add(feedback.items[i]);
                        }
                        else
                        {
                            info_unitD.count += feedback.items[i].count;
                        }
                        break;

                    case PlayerBagItemType.SkinDebrisItem:
                        int      id_skinD   = feedback.items[i].metaId;
                        ItemInfo info_skinD = bag_debris.itemList.Find(p => p.metaId == id_skinD);

                        if (info_skinD == null)
                        {
                            bag_debris.itemList.Add(feedback.items[i]);
                        }
                        else
                        {
                            info_skinD.count += feedback.items[i].count;
                        }
                        break;

                    case PlayerBagItemType.RuneDebrisItem:
                        int      id_runeD   = feedback.items[i].metaId;
                        ItemInfo info_runeD = bag_debris.itemList.Find(p => p.metaId == id_runeD);

                        if (info_runeD == null)
                        {
                            bag_debris.itemList.Add(feedback.items[i]);
                        }
                        else
                        {
                            info_runeD.count += feedback.items[i].count;
                        }
                        break;

                    default:
                        int      id_com   = feedback.items[i].metaId;
                        ItemInfo info_com = bag_complex.itemList.Find(p => p.metaId == id_com);

                        if (info_com == null)
                        {
                            bag_complex.itemList.Add(feedback.items[i]);
                        }
                        else
                        {
                            info_com.count += feedback.items[i].count;
                        }
                        break;
                    }
                }

                MessageDispatcher.PostMessage(Constants.MessageType.RefreshPlayerBagsData);

                if (feedback.exps != 0 || feedback.currencies.Count > 0 || feedback.items.Count > 0 || feedback.soldiers.Count > 0)
                {
                    MessageDispatcher.PostMessage(Constants.MessageType.OpenGainItemWindow, feedback.exps, feedback.currencies, feedback.items, feedback.soldiers);
                }
            }
        }