// 取的甜點數量,供Fungus使用 public void SetFungusDessert(Item.ItemName dessertName) { // 要輸進去的甜點 talkFlowChart = GameObject.Find("FungusData").GetComponent <Flowchart>(); // talkFlowChart.SetIntegerVariable(dessertName, SystemController.Instance.GetDesert(dessertName); //Debug.Log(dessertName + talkFlowChart.GetIntegerVariable(dessertName)); }
public void RemoveItem(Item.ItemName itemName) { Item currentItem = _items.Find(i => itemName == i.Name); _items.Remove(currentItem); HideItem(currentItem); }
public void AddItem(Item item) { // 甜點增加 bool itemExist = false; foreach (Item iL in GetInventory(item)) { //Debug.Log("判斷甜點數" + item.itemName + item.quantity); if (item.itemName == iL.itemName) { itemExist = true; //Debug.Log("甜點數增加" + item.itemName + item.quantity); Item.ItemName iN = item.itemName; FindItem(new Item(iN, 0)).quantity += item.quantity; //FindItem(item).quantity += item.quantity; //iL.quantity += item.quantity; //Debug.Log("引入的ithem甜點數變成" + item.itemName + item.quantity); //Debug.Log("甜點數變成" + iL.itemName + iL.quantity); } } if (!itemExist) { //Debug.Log("甜點" + item.itemName + item.quantity); GetInventory(item).Add(item); } // 顯示目前甜點 ShowItem(); }
public void selectSummonItem(Item item) { if (item.amount > 0) { foreach (Transform child in fireLocation) { Item selectedItem = Players.playersList[Players.getSelectedPlayer()].inventory.getItemByName(lastItemSelected); selectedItem.amount++; Destroy(child.gameObject); } GameObject fireInUsePrefabObj = Instantiate(fireInUsePrefab, fireLocation); fireInUsePrefabObj.GetComponent <FireInUsePrefabUi>().setSprite(item.sprite); lastItemSelected = item.itemName; flag_lastItemSelected = true; item.amount--; gachaUiHandler.refreshGacha(); Debug.Log("Pode inserir a chama"); } else { Debug.Log("Chama insuficiente"); } }
public Item getItemByName(Item.ItemName itemName) { List <Item> items = this.getItemList(); foreach (Item item in items) { if (item.itemName == itemName) { return(item); } } return(null); }
public void buyFireSummonButton(Item.ItemName itemName) { if (Currency.gold > commonFireCost) { Currency.gold -= commonFireCost; Debug.Log("Item name on battleSystem " + itemName); Item item = Items.getItemByName(itemName); item.amount = 1; Players.playersList[Players.getSelectedPlayer()].inventory.addItem(item); } else { Debug.Log("Não tem gold para comprar"); } }
public Hero summonHero(Item.ItemName summonItem, int randomNumber) { Hero gachaHero = new Hero(); if (randomNumber >= 0 && randomNumber <= 10) { List <Hero> heroList = Heroes.getHeroByRank(Hero.HeroRank.nat5); Debug.Log("Legendary"); gachaHero = rollHero(heroList); } if (randomNumber >= 11 && randomNumber <= 60) { List <Hero> heroList = Heroes.getHeroByRank(Hero.HeroRank.nat4); Debug.Log("Epic"); gachaHero = rollHero(heroList); } if (randomNumber >= 61 && randomNumber <= 200) { List <Hero> heroList = Heroes.getHeroByRank(Hero.HeroRank.nat3); Debug.Log("Rare"); gachaHero = rollHero(heroList); } if (randomNumber >= 201 && randomNumber <= 500) { List <Hero> heroList = Heroes.getHeroByRank(Hero.HeroRank.nat2); Debug.Log("Uncommon"); gachaHero = rollHero(heroList); } if (randomNumber >= 501 && randomNumber <= 1000) { List <Hero> heroList = Heroes.getHeroByRank(Hero.HeroRank.nat1); Debug.Log("Common"); gachaHero = rollHero(heroList); } return(gachaHero); }
public static Item getItemByName(Item.ItemName itemName) { itemClass = new Item(); switch (itemName) { default: return(null); case Item.ItemName.shovel: itemClass.itemName = Item.ItemName.shovel; itemClass.itemType = Item.ItemType.equipable; itemClass.amount = 0; itemClass.sprite = "shovel"; itemClass.price = 0; return(itemClass); case Item.ItemName.jerryHairBall: itemClass.itemName = Item.ItemName.jerryHairBall; itemClass.itemType = Item.ItemType.material; itemClass.amount = 0; itemClass.sprite = "jerryHairBall"; itemClass.price = 0; return(itemClass); case Item.ItemName.ironOre: itemClass.itemName = Item.ItemName.ironOre; itemClass.itemType = Item.ItemType.material; itemClass.amount = 0; itemClass.sprite = "ironOre"; itemClass.price = 0; return(itemClass); case Item.ItemName.skull: itemClass.itemName = Item.ItemName.skull; itemClass.itemType = Item.ItemType.material; itemClass.amount = 0; itemClass.sprite = "skull"; itemClass.price = 0; return(itemClass); case Item.ItemName.commonFire: itemClass.itemName = Item.ItemName.commonFire; itemClass.itemType = Item.ItemType.gacha; itemClass.amount = 0; itemClass.sprite = "commonFire"; itemClass.price = 10; return(itemClass); case Item.ItemName.uncommonFire: itemClass.itemName = Item.ItemName.uncommonFire; itemClass.itemType = Item.ItemType.gacha; itemClass.amount = 0; itemClass.sprite = "uncommonFire"; itemClass.price = 25; return(itemClass); case Item.ItemName.rareFire: itemClass.itemName = Item.ItemName.rareFire; itemClass.itemType = Item.ItemType.gacha; itemClass.amount = 0; itemClass.sprite = "rareFire"; itemClass.price = 100; return(itemClass); case Item.ItemName.epicFire: itemClass.itemName = Item.ItemName.epicFire; itemClass.itemType = Item.ItemType.gacha; itemClass.amount = 0; itemClass.sprite = "epicFire"; itemClass.price = 500; return(itemClass); case Item.ItemName.legendaryFire: itemClass.itemName = Item.ItemName.legendaryFire; itemClass.itemType = Item.ItemType.gacha; itemClass.amount = 0; itemClass.sprite = "legendaryFire"; itemClass.price = 1000; return(itemClass); } }
public bool ContainsItem(Item.ItemName itemName) { return(_items.Exists(item => itemName == item.Name)); }
public override void Update(GameTime gameTime) { // Check Autosave timeSinceLastSave += gameTime.ElapsedGameTime; if (timeSinceLastSave >= TimeSpan.FromMinutes(5.0)) { SaveMap(); timeSinceLastSave = TimeSpan.Zero; modifiedTiles.Clear(); } if (InputHandler.KeyDown(Keys.F2)) { this.Visible = false; this.Enabled = false; } if (InputHandler.KeyPressed(Keys.D1)) { currentMode = Mode.Tile; Console.WriteLine("Tile Mode.\n"); } if (InputHandler.KeyPressed(Keys.D2)) { currentMode = Mode.Item; Console.WriteLine("Item Mode.\n"); Console.WriteLine("Current Item: " + CurrentItem.ToString() + "\n"); } if (InputHandler.KeyPressed(Keys.D3)) { currentMode = Mode.Nest; Console.WriteLine("Nest Mode.\n"); Console.WriteLine("Creature ID for this nest: "); currentCreatureID = Convert.ToInt16(Console.ReadLine()); } if (InputHandler.KeyPressed(Keys.D4)) { currentMode = Mode.Attribute; Console.WriteLine("Atrribute Mode. \n"); Console.WriteLine("Current Attribute: " + currentAttribute.ToString()); } if (InputHandler.KeyPressed(Keys.D5)) { currentMode = Mode.Sign; Console.WriteLine("Sign Mode.\n"); Console.Write("Enter a string for this sign (# for newline): "); currentSignText = Console.ReadLine().Replace('#','\n'); } if (InputHandler.KeyPressed(Keys.B) && currentMode == Mode.Tile) renderCollisionLayer = !renderCollisionLayer; if (InputHandler.KeyPressed(Keys.T)) if (currentMode == Mode.Tile) renderTileSet = !renderTileSet; if(InputHandler.KeyPressed(Keys.Z) || InputHandler.KeyPressed(Keys.X)) { switch(currentMode) { case Mode.Item: if (InputHandler.KeyPressed(Keys.X) || InputHandler.KeyPressed(Keys.Z)) { if (InputHandler.KeyPressed(Keys.X)) { if ((int)CurrentItem != Enum.GetValues(typeof(Item.ItemName)).Length) CurrentItem++; else CurrentItem = (Item.ItemName)1; } if (InputHandler.KeyPressed(Keys.Z)) { if ((int)CurrentItem != 1) CurrentItem--; else CurrentItem = (Item.ItemName)Enum.GetValues(typeof(Item.ItemName)).Length; } Console.WriteLine("Current Item: " + CurrentItem.ToString() + "\n"); } break; case Mode.Nest: break; case Mode.Attribute: if (InputHandler.KeyPressed(Keys.X) || InputHandler.KeyPressed(Keys.Z)) { if (InputHandler.KeyPressed(Keys.X)) { if ((int)currentAttribute < 3) currentAttribute++; else currentAttribute = (Attributes)1; } if (InputHandler.KeyPressed(Keys.Z)) { if ((int)currentAttribute > 1) currentAttribute--; else currentAttribute = (Attributes)3; } Console.WriteLine("Current Attribute: " + currentAttribute.ToString()); } break; } } if ((InputHandler.LeftClickDown || InputHandler.RightClickPressed) && Configuration.Bounds.Contains(new Point(InputHandler.MouseX, InputHandler.MouseY))) { Vector2 MousePos = InputHandler.MouseWorldCoords; MousePos.X /= GameHandler.TileMap.TileWidth; MousePos.Y /= GameHandler.TileMap.TileHeight; Vector2 MousePosPixels = new Vector2((int)MousePos.X * GameHandler.TileMap.TileWidth, ((int)MousePos.Y * GameHandler.TileMap.TileHeight)); switch(currentMode) { case Mode.Tile: if (InputHandler.LeftClickDown) { if (tileSetRenderRect.Contains(new Point(InputHandler.MouseX, InputHandler.MouseY)) && renderTileSet) { currentTile = new Point(((InputHandler.MouseX - (int)tileSetRenderDrawOffset.X) / GameHandler.TileMap.TileWidth), ((InputHandler.MouseY - (int)tileSetRenderDrawOffset.Y) / GameHandler.TileMap.TileHeight)); tiles[currentTile.X, currentTile.Y].GetData<Color>(selectedTileData); } else { GameHandler.TileMap.Map.SetData<Color>(0, new Rectangle((int)MousePosPixels.X, (int)MousePosPixels.Y, tiles[currentTile.X, currentTile.Y].Width, tiles[currentTile.X, currentTile.Y].Height), selectedTileData, 0, selectedTileData.Length); GameHandler.TileMap.SetTile(new Point((int)MousePos.X, (int)MousePos.Y), currentTile); } } else if (InputHandler.RightClickPressed) GameHandler.TileMap.TogglePassable(new Point((int)MousePos.X, (int)MousePos.Y)); break; case Mode.Item: if (InputHandler.LeftClickPressed) { if(GameHandler.CheckItem(new Point((int)MousePos.X, (int)MousePos.Y)) != null) { ItemEntity i = GameHandler.CheckItem(new Point((int)MousePosPixels.X, (int)MousePosPixels.Y)); GameHandler.RemoveItem(i); } if(GameHandler.CheckItem(new Point((int)MousePos.X, (int)MousePos.Y)) == null) GameHandler.AddItem(new ItemEntity(new Vector2(MousePosPixels.X, MousePosPixels.Y), (int)CurrentItem, Game.Content)); } if (InputHandler.RightClickPressed) { ItemEntity i = GameHandler.CheckItem(new Point((int)MousePosPixels.X, (int)MousePosPixels.Y)); if (i != null) GameHandler.RemoveItem(i); } break; case Mode.Nest: if (InputHandler.LeftClickPressed) GameHandler.AddNest(new Nest(Game.Content.Load<Texture2D>("Sprites\\Nest"), Game.Content, new Point((int)MousePos.X * GameHandler.TileMap.TileWidth, (int)MousePos.Y * GameHandler.TileMap.TileHeight), currentCreatureID, new Point(GameHandler.TileMap.TileWidth, GameHandler.TileMap.TileHeight), new Point(GameHandler.TileMap.TileWidth, GameHandler.TileMap.TileHeight), new Point((int)GameHandler.TileMap.PlayerSpawn.X, (int)GameHandler.TileMap.PlayerSpawn.Y), GameHandler.TileMap.Passable)); if (InputHandler.RightClickPressed) { Nest n = GameHandler.CheckNests(new Point((int)MousePos.X * GameHandler.TileMap.TileWidth, (int)MousePos.Y * GameHandler.TileMap.TileHeight)); if(n != null) GameHandler.RemoveNest(n); } break; case Mode.Sign: if (InputHandler.LeftClickPressed) GameHandler.AddSign(new Sign(Game.Content.Load<Texture2D>("Sprites/Sign"), new Vector2((int)MousePos.X * GameHandler.TileMap.TileWidth, (int)MousePos.Y * GameHandler.TileMap.TileHeight), currentSignText)); if (InputHandler.RightClickPressed) { Sign s = GameHandler.CheckSign(new Point((int)MousePos.X * GameHandler.TileMap.TileWidth, (int)MousePos.Y * GameHandler.TileMap.TileHeight)); if (s != null) GameHandler.RemoveSign(s); } break; case Mode.Attribute: if (InputHandler.LeftClickPressed) GameHandler.TileMap.SetAttribute(new Point((int)MousePos.X, (int)MousePos.Y), currentAttribute); if (InputHandler.RightClickPressed) GameHandler.TileMap.SetAttribute(new Point((int)MousePos.X, (int)MousePos.Y), Attributes.None); break; } AddModifiedTile(new Point((int)MousePos.X, (int)MousePos.Y)); // Add the tile to the modified list } base.Update(gameTime); }
public override void Initialize() { workingDirectory = Directory.GetCurrentDirectory().Replace("Build", "Code\\Content\\Maps\\"); currentMode = Mode.Tile; CurrentItem = Item.ItemName.Apple; base.Initialize(); }
public void setUseButton(StoreController storeController, Item.ItemName itemName) { button.onClick.AddListener(delegate { storeController.buyFireSummonButton(itemName); }); }