Exemplo n.º 1
0
        private void CraftItemCallBack()
        {
            CraftingRecipe craftingRecipe = craftingRecipesDetail.craftingRecipe;

            ItemModel craftItemModel = GameManager.Instance.gameDataCenter.allItemModels.Find(delegate(ItemModel obj) {
                return(obj.itemId == craftingRecipe.craftItemId);
            });

            for (int i = 0; i < craftItemModel.itemInfosForProduce.Length; i++)
            {
                ItemModel.ItemInfoForProduce itemInfo = craftItemModel.itemInfosForProduce [i];
                for (int j = 0; j < itemInfo.itemCount; j++)
                {
                    Item item = Player.mainPlayer.allItemsInBag.Find(delegate(Item obj) {
                        return(obj.itemId == itemInfo.itemId);
                    });
                    Player.mainPlayer.RemoveItem(item, 1);
                }
            }

            Item craftedItem = Item.NewItemWith(craftItemModel, 1);

            Player.mainPlayer.AddItem(craftedItem);

            string tint = string.Format("获得 <color=orange>{0}</color> x1", craftedItem.itemName);

            Sprite itemSprite = GameManager.Instance.gameDataCenter.allItemSprites.Find(delegate(Sprite obj) {
                return(obj.name == craftedItem.spriteName);
            });

            SetUpTintHUD(tint, itemSprite);
        }
Exemplo n.º 2
0
        private void InitAllItemNameToItemInfo()
        {
            for (int i = 0; i < tempItemModels.Count; i++)
            {
                TempItemModel temp = tempItemModels [i];

                int itemCountForProduce = temp.itemNamesForProduce.Count;

                temp.itemModel.itemInfosForProduce = new ItemModel.ItemInfoForProduce[itemCountForProduce];

                for (int j = 0; j < itemCountForProduce; j++)
                {
                    string itemName = temp.itemNamesForProduce [j];

                    TempItemModel itemForProduce = tempItemModels.Find(delegate(TempItemModel obj) {
                        return(obj.itemModel.itemName == itemName);
                    });

                    if (itemForProduce == null)
                    {
                        Debug.LogError(string.Format("{0}配方中的{1}名称不正确", temp.itemModel.itemName, itemName));
                    }

                    ItemModel.ItemInfoForProduce itemInfo = new ItemModel.ItemInfoForProduce(itemForProduce.itemModel.itemId, temp.itemCountsForProduce[j]);

                    temp.itemModel.itemInfosForProduce [j] = itemInfo;
                }
            }
        }
Exemplo n.º 3
0
        public void CraftCurrentSelectItem()
        {
            CraftingRecipe craftRecipe = currentSelectItem as CraftingRecipe;

            ItemModel craftItemModel = GameManager.Instance.gameDataCenter.allItemModels.Find(delegate(ItemModel obj) {
                return(obj.itemId == craftRecipe.craftItemId);
            });

            for (int i = 0; i < craftItemModel.itemInfosForProduce.Length; i++)
            {
                ItemModel.ItemInfoForProduce itemInfo = craftItemModel.itemInfosForProduce [i];
                for (int j = 0; j < itemInfo.itemCount; j++)
                {
                    Item item = Player.mainPlayer.allItemsInBag.Find(delegate(Item obj) {
                        return(obj.itemId == itemInfo.itemId);
                    });
//					bagView.RemoveBagItem (item);

                    if (item == null)
                    {
                        item = Player.mainPlayer.GetEquipedEquipment(itemInfo.itemId);
                    }

                    Player.mainPlayer.RemoveItem(item, 1);
                }
            }

            Item craftedItem = Item.NewItemWith(craftItemModel, 1);
//			bagView.AddBagItem (craftedItem);

            string tint = string.Format("获得 <color=orange>{0}</color> x1", craftedItem.itemName);

            Sprite itemSprite = GameManager.Instance.gameDataCenter.allItemSprites.Find(delegate(Sprite obj) {
                return(obj.name == craftedItem.spriteName);
            });

//			int oriIndexOfCraftingRecipe = Player.mainPlayer.GetItemIndexInBag (currentSelectItem);
            Player.mainPlayer.RemoveItem(currentSelectItem, 1);
            Player.mainPlayer.AddItem(craftedItem);

            bagView.SetUpTintHUD(tint, itemSprite);
//			bagView.RemoveBagItemAt (oriIndexOfCraftingRecipe);

            if (Player.mainPlayer.CheckBagFull())
            {
                AddItemInWait();
            }

            bagView.SetUpCurrentBagItemsPlane();
            bagView.SetUpEquipedEquipmentsPlane();
        }