public void Start(IFerreiro novoFerreiro, IMercado novoMercado) { //Criando o ferreiro e o mercado //Criando os itens equipáveis IEquipamento helmoGuerreiroGuardiao = novoFerreiro.criarHelmo(); IEquipamento helmoGuerreiroInfernal = novoFerreiro.criarHelmo(); helmoGuerreiroGuardiao.Nome = "Helmo guerreiro guardião"; helmoGuerreiroInfernal.Nome = "Helmo guerreiro Infernal"; //Criando os itens consumiveis IConsumivel PoteDeVida = novoMercado.criarPoteVida(); IConsumivel PoteDeMana = novoMercado.criarPoteMana(); PoteDeVida.Nome = "Pote de vida 200Ml"; PoteDeMana.Nome = "Pote de mana 200Ml"; //Criando um novo inventário Inventario novoInventario = new Inventario(); //Adicionando os itens equipáveis no inventário geral novoInventario.AdicionarItemInventarioGeral(helmoGuerreiroGuardiao); novoInventario.AdicionarItemInventarioGeral(helmoGuerreiroInfernal); novoInventario.AdicionarItemInventarioGeral(PoteDeVida); novoInventario.AdicionarItemInventarioGeral(PoteDeMana); //Verificando a alteração entre equipar um item e equipar outro do mesmo tipo Console.WriteLine("Inventario Geral após ser adicionado 2 Helmos: \n"); novoInventario.ListarItensInventarioGeral(); Console.WriteLine("\n________________________________\n\nInventario de equipamentos: \n"); novoInventario.ListarItensInventarioEquipamento(); novoInventario.EquiparItem(1); Console.WriteLine("\n________________________________\n\nInventario de equipamentos após equipar o primeiro item: \n"); novoInventario.ListarItensInventarioEquipamento(); Console.WriteLine("\n________________________________\n\nInventario Geral após ter sido equipado o item: \n"); novoInventario.ListarItensInventarioGeral(); novoInventario.EquiparItem(1); Console.WriteLine("\n________________________________\n\nInventario de equipamento após ter equipado um item do mesmo tipo: \n"); novoInventario.ListarItensInventarioEquipamento(); Console.WriteLine("\n________________________________\n\nInventario geral após ter equipado um item do mesmo tipo: \n"); novoInventario.ListarItensInventarioGeral(); //Tentando equipar um item consumível Console.WriteLine("\n________________________________\n\nTentando equipar um consumível: \n"); novoInventario.ListarItensInventarioGeral(); novoInventario.EquiparItem(1); //Filtrando a lista dos itens pelo tipo Console.WriteLine("\n________________________________\n\nListando itens do inventário apenas por equipavel: \n"); novoInventario.ListarItensDoTipo("equipavel"); Console.WriteLine("\n________________________________\n\nListando itens do inventário apenas por consumivel: \n"); novoInventario.ListarItensDoTipo("consumivel"); }
private void OnTriggerEnter2D(Collider2D collision) { if (isInventarioFull()) { return; } if (collision.CompareTag("equipavel")) { IEquipamento novoItem = collision.GetComponent <IEquipamento>(); int[] atributos = { novoItem.STR, novoItem.AGI, novoItem.DEX, novoItem.LUK }; ItemGuerreiro itemInfos = (ItemGuerreiro)SpawnManager.Instance.CriadorItensFase.criarItemGuerreiro(nome: novoItem.Nome, tipo: novoItem.Tipo, body: novoItem.bodyPart, classe: novoItem.Classe, atri: atributos); string key; key = ItemInventario.FirstOrDefault(x => x.Value == null).Key; ItemInventario[key] = itemInfos; GameObject slot_position = SlotsInventario[key]; if (novoItem.SpriteItem == null) { novoItem.SpriteItem = collision.gameObject.GetComponent <SpriteRenderer>(); } SpriteRenderer sprt = Instantiate(collision.gameObject.GetComponent <SpriteRenderer>()); slot_position.GetComponent <Image>().sprite = sprt.sprite; Destroy(sprt); } if (collision.CompareTag("consumivel")) { IConsumivel novoItem = collision.GetComponent <IConsumivel>(); string key; key = ItemInventario.FirstOrDefault(x => x.Value == null).Key; ItemInventario[key] = novoItem; GameObject slot_position = SlotsInventario[key]; if (novoItem.SpriteItem == null) { novoItem.SpriteItem = collision.gameObject.GetComponent <SpriteRenderer>(); } SpriteRenderer sprt = Instantiate(collision.gameObject.GetComponent <SpriteRenderer>()); slot_position.GetComponent <Image>().sprite = sprt.sprite; Destroy(sprt); } if (collision.CompareTag("inutil")) { Inutil novoItem = collision.GetComponent <Inutil>(); string key; key = ItemInventario.FirstOrDefault(x => x.Value == null).Key; ItemInventario[key] = novoItem; GameObject slot_position = SlotsInventario[key]; if (novoItem.SpriteItem == null) { novoItem.SpriteItem = collision.gameObject.GetComponent <SpriteRenderer>(); } SpriteRenderer sprt = Instantiate(collision.gameObject.GetComponent <SpriteRenderer>()); slot_position.GetComponent <Image>().sprite = sprt.sprite; Destroy(sprt); } }