예제 #1
0
        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");
        }
예제 #2
0
 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);
     }
 }