SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida Very Happy
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Baixar Unity ?
Dash2D
[Tutorial]Save Load Criptografado
Ajuda com variaveis multiplas?
É assim que se começa um "novo mundo" na era medieval? kkjk
[____TÓPICO LIVRE____] FALE O QUE QUISER
[TUTORIAL] Barra de VIDA / HP contínua
R7 - GOOH (resident evil 7)
Unity 5 + um pouco de conhecimento ou Skyrim?
Teste de usuário para um jogo
Procuro vagas em equipes [Programador]
Trocar de true pra false em uma animação bool
Ajuda Movimento2D
[Duvida] Erro Criptografia AES em arquivos Json
Help minha void oncollisionenter nao funciona e nao consio encontrar o do por que :/
Converter um Gameobject para uma byte array (byte[])
Time.timeScale continua em 0
Asset de FPS - AU FPS Kit [unity 5] v1.5
Números aleatorios
[TUTORIAL] Dicas de otimização
Animacao2D
Preciso saber o ponto medio entre dois Transform
[TUTORIAL] Banco de dados || MySQL
Unity 5.5 BETA (Mudanças)
[TUTORIAL] Serialização - JSON
[TUTORIAL] Melhorar a estabilidade dos veículos com Wheel Collider
[TUTORIAL]Como colocar videos ou intros simples na unity free
[TUTORIAL] Deformar o terreno
[TUTORIAL] Scripts Básicos para Iniciantes
Qual asset comprar?
Ideias para level design 3D
Duvida Animation Play não faz nada
[TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
Alien Planet - Atmospheric scattering test
Unity 5 Bugado
Integração PHP e Unity
Ideia Inovadora
Escolher que resoluções jogo vai ter
como usar o Lookat com o addforce do rigidibody?
[TUTORIAL] DANO POR QUEDA e BARRA DE VIDA CONTÍNUA no mesmo script
Pra que serve o [SerializeField] e por que usar ele?
script
Forma uma equipe
Baixar Documentaçao Unity 3D?
Feixe de luz - melhor forma de fazer
erro sinistro
Duvida sobre o Peso do jogo?
Alquem tem alguma ideia de como fazer o Player tipo a cabeça olhar para o seu inimigo?
Cryengine 3?
Como mudar rotacao de um objeto em relacao a posicao do outro objeto
Gostaria da opinião de vocês sobre o beta da Unity
Script
[TUTORIAL] Sistema de Escada Estilo FPS
Guitar The Legends of Brazil
[TUTORIAL] Escolher a quantos FPS (fixos) o seu jogo deverá rodar.
Examinar
Formação de Equipe Battle of Worlds
me ajudem neste script para subir escada
Texturas
script por favor me ajudem
Tem como saber o Tamanho do Objeto?
Banco de dados Aleatorio
Procuro desenhista para jogo 2D Pixel Art (Compra)
[Dúvida] Blender erro ao aplicar osso na mesh
[resolvido]enfiar float no UItext por script
Daria para pegar as horas do computador e por no jogo?
Gerador de Characters Autodesk Online
[JOGO DE FPS MULTIPLAYER] Alguém que saiba fazer animações na Unity 5 ou no blender :D
[LANÇADO] The Dilma
Inventario
The Dilma - O terror da Petrobrás
Ajuda Neste Script?
Procuro Equipe de Jogos 2D
Animações de sobra
[TUTORIAL]Singleton, A melhor forma de acessar a classe!
Hoje à(s) 10:23 am
Hoje à(s) 9:57 am
Hoje à(s) 9:51 am
Hoje à(s) 1:13 am
Hoje à(s) 1:04 am
Hoje à(s) 12:01 am
Ontem à(s) 11:10 pm
Ontem à(s) 11:07 pm
Ontem à(s) 10:46 pm
Ontem à(s) 10:30 pm
Ontem à(s) 10:30 pm
Ontem à(s) 10:06 pm
Ontem à(s) 9:13 pm
Ontem à(s) 8:48 pm
Ontem à(s) 6:02 pm
Ontem à(s) 5:01 pm
Ontem à(s) 7:43 am
Ontem à(s) 3:31 am
Ontem à(s) 12:30 am
Seg Dez 05, 2016 11:52 pm
Seg Dez 05, 2016 8:49 pm
Seg Dez 05, 2016 6:52 pm
Seg Dez 05, 2016 6:48 pm
Seg Dez 05, 2016 6:32 pm
Seg Dez 05, 2016 6:17 pm
Seg Dez 05, 2016 6:15 pm
Seg Dez 05, 2016 4:08 pm
Seg Dez 05, 2016 3:10 pm
Seg Dez 05, 2016 1:36 pm
Seg Dez 05, 2016 12:35 pm
Dom Dez 04, 2016 10:52 pm
Dom Dez 04, 2016 10:01 pm
Dom Dez 04, 2016 6:37 pm
Dom Dez 04, 2016 6:33 pm
Dom Dez 04, 2016 7:16 am
Dom Dez 04, 2016 5:46 am
Dom Dez 04, 2016 3:34 am
Sab Dez 03, 2016 11:55 pm
Sab Dez 03, 2016 11:46 pm
Sab Dez 03, 2016 11:36 pm
Sab Dez 03, 2016 11:31 pm
Sab Dez 03, 2016 11:11 pm
Sab Dez 03, 2016 1:32 pm
Sab Dez 03, 2016 12:01 pm
Sab Dez 03, 2016 10:53 am
Sab Dez 03, 2016 1:25 am
Sab Dez 03, 2016 1:11 am
Sab Dez 03, 2016 1:08 am
Sex Dez 02, 2016 11:59 pm
Sex Dez 02, 2016 11:20 pm
Sex Dez 02, 2016 11:15 pm
Sex Dez 02, 2016 11:10 pm
Sex Dez 02, 2016 11:08 pm
Sex Dez 02, 2016 10:58 pm
Sex Dez 02, 2016 10:52 pm
Sex Dez 02, 2016 10:50 pm
Sex Dez 02, 2016 10:04 pm
Sex Dez 02, 2016 9:12 pm
Sex Dez 02, 2016 8:53 pm
Sex Dez 02, 2016 8:49 pm
Sex Dez 02, 2016 12:46 pm
Sex Dez 02, 2016 11:53 am
Sex Dez 02, 2016 8:06 am
Qui Dez 01, 2016 11:31 pm
Qui Dez 01, 2016 10:46 pm
Qui Dez 01, 2016 7:28 pm
Qui Dez 01, 2016 6:42 pm
Qui Dez 01, 2016 5:08 pm
Qui Dez 01, 2016 5:06 pm
Qui Dez 01, 2016 4:44 pm
Qua Nov 30, 2016 11:45 pm
Qua Nov 30, 2016 11:19 pm
Ter Nov 29, 2016 7:49 pm
Ter Nov 29, 2016 12:15 pm
Ter Nov 29, 2016 10:46 am
Thiagofogaca217
Thiagofogaca217
cosmoplay
Dom3000
Dom3000
Madness
Tadaora
Tadaora
Dom3000
weslleyFx
Creat Games
Weverton Borges da Silva
roger224
Manawydan
Dom3000
hetrodo_gamer
dstaroski
dimmuo
The Seven
Dom3000
Thiagofogaca217
Dom3000
artplayer
weslleyFx
RenanMSV
weslleyFx
Deiverson
John Rambo
Deiverson
Madness
Madness
vinilucas
weslleyFx
weslleyFx
AndyShow
artplayer
Madness
Marc7
Dom3000
weslleyFx
weslleyFx
weslleyFx
mafipt
dimmuo
dimmuo
Dom3000
Dom3000
Dom3000
Callyde Jr
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
Dom3000
edumoran
dstaroski
dstaroski
Dom3000
artplayer
mlmattos
rafaelllsd
weslleyFx
Extreme Craft
Édipo
weslleyFx
weslleyFx
weslleyFx
weslleyFx
weslleyFx
weslleyFx
artplayer
dimmuo

Como posso comparar enum de uma class no meu script e buscar todos objetos que tem esse enum.

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

DÚVIDA Como posso comparar enum de uma class no meu script e buscar todos objetos que tem esse enum.

Mensagem por Chilinger em Seg Out 03, 2016 12:06 pm

Fiz duas Class como o marcos falou que faria o inventario dele em um topico sendo que no meu caso quero buscar todos que tem esse enum e mandar aparecer na tela com a OnGUI.

//Nao sei com buscar quem tem o enum arma para poder mandar minha void MostrarInventario e a void MostrarItemDaTela fazerem
//os objetos do inventario e do mercado mostra na tela
Código:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;

[System.Serializable]
public class Item  {

public string itemNome;
public int itemId;
public ItemTipo itemTipo;
public GameObject itemObjeto;
public Texture2D itemTexture;


public enum ItemTipo{

   Armas,
   Pe,
   Perna,
   Peitoral,
   Mao,
   Pulso,
   Cordao,
   Anel

   }

}

Código:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;

[System.Serializable]
public class ItemDataBase : Item {
   
    public string precot;
    public static double precod;
    public int itemDesc;   


    public ItemDataBase(string nome, int id, string valor,int desconto, double valorI, ItemTipo tipo, GameObject obj, Texture2D textura)
    {

        itemNome = nome;
        itemId = id;
        itemTexture = textura;
        itemObjeto = obj;
        precot = valor;//
        precod = valorI;//
        itemTipo = tipo;
   itemDesc = desconto;//

      
    }      

}

Código:
using UnityEngine;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;

public class objtgui : MonoBehaviour { 

    public Item[] inventario2 = new Item[0];   
   ArrayList MinhaLista = new ArrayList();
    public ItemDataBase[] shop = new ItemDataBase[4];
   
   public Item.ItemTipo tipo;
   
   public float reparo;
   public bool repare;
   public bool vender;
   public bool aparecer;
   int id,i,j;
   public Vector2 scrollPosition;


   // Use this for initialization   
   void Start() {
      MinhaLista.Add ("1");
      MinhaLista.Add ("3");
      
      //j = i+1;
   }


   public void NovoItem(int id){
      double di = 10;
      if (ItemDataBase.precod <= di){
      MinhaLista.Add(id); //Add um novo item na lista
      }
   }

   public void AlterarItem(int ID,string ID2){
      MinhaLista[ID] = ID2; //Altera um item usando o numero do item da lista
   }

   public void RemoverItem(int ID){
   double di = 10;
   double ve = 20.0 / 100.0;
   double final;
    if (vender){
            
   final = ItemDataBase.precod*ve;
   di += final;
   MinhaLista.RemoveAt(ID); //Remover item usando o número do item da lista
   //Array.add(inventario2, item);
    http://inventario2.Remove(item);
   
      }
      
   }   
   
   
void MostrarItemDaTela(ItemDataBase item){
   
   

    GUILayout.BeginArea(new Rect(0,0,170,90),"","box");   
    GUILayout.BeginArea(new Rect(0,0,100,80));
    GUILayout.Box(item.itemTexture,GUILayout.Height(80),GUILayout.Width(80));
    GUILayout.EndArea();
   
    GUILayout.BeginArea(new Rect(85,0,80,80));
    GUILayout.BeginVertical();
    GUILayout.Box(item.itemNome);
    GUILayout.Box(item.precot);
    if (GUILayout.Button("Comprar")){
        NovoItem(item.itemId);               
        }
   GUILayout.EndVertical();
   GUILayout.EndArea();   
   GUILayout.EndArea();

}

void ComprarItem(Item item){
   double di = 10;
    if (ItemDataBase.precod <= di)
    {
       MinhaLista.Add(id);
    http://inventario2.add(item[item.itemId]);
      // inventario2.Add(item);
    }
}
      
void VenderItem(Item item){
   double di = 10;
   double ve = 20.0 / 100.0;
   double final;
    if (vender){
            
   final = ItemDataBase.precod*ve;
   di += final;
   //Array.add(inventario2, item);
    http://inventario2.Remove(item);
   
      }
    }
//
void MostrarInventario(Item item){
         
         
   //scrollPosition = GUILayout.BeginScrollView (scrollPosition, GUILayout.Width (100), GUILayout.Height (100));

   Rect espaco = new Rect ((Screen.width - 230) - Screen.width/2,(Screen.height/4 - Screen.height/5 + 30),550 ,Screen.height);
   GUILayout.BeginArea(espaco);
         
   scrollPosition = GUILayout.BeginScrollView (scrollPosition, GUILayout.Width (200), GUILayout.Height (450));         
   GUILayout.BeginHorizontal();
         
   if(GUILayout.Button(item.itemTexture,GUILayout.Height(85),GUILayout.Width(100))){
            
   }
   GUILayout.BeginVertical();
   GUILayout.Box(item.itemNome,GUILayout.Height(20),GUILayout.Width(130));
   GUILayout.BeginHorizontal();
   
   if(GUILayout.Button("Vender",GUILayout.Height(25),GUILayout.Width(65))){
      RemoverItem(id);
   }            
         //if(repare){
            
   if(GUILayout.Button("Reparar",GUILayout.Height(25),GUILayout.Width(65))){
            
   }
         //}
   GUILayout.EndHorizontal();
   GUILayout.EndVertical();
   GUILayout.EndHorizontal();
   GUILayout.EndScrollView ();
   GUILayout.EndArea();         

   }

   void OnGUI () {   
//Nao sei com buscar quem tem o enum arma para poder mandar minha void MostrarInventario e a void MostrarItemDaTela fazerem
//os objetos do inventario e do mercado mostra na tela
   foreach(Item it in inventario2){
      
   }
   foreach(ItemDataBase db in shop){
      MostrarItemDaTela(db);
   }
}

Chilinger
MembroAvançado

Masculino PONTOS : 994
REPUTAÇÃO : 22
Idade : 22
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como posso comparar enum de uma class no meu script e buscar todos objetos que tem esse enum.

Mensagem por MarcosSchultz em Seg Out 03, 2016 5:35 pm

@ UP para eu ver isto quando conseguir algum tempo livre

MarcosSchultz
Administrador

Masculino PONTOS : 7141
REPUTAÇÃO : 883
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como posso comparar enum de uma class no meu script e buscar todos objetos que tem esse enum.

Mensagem por Chilinger em Ter Out 04, 2016 10:20 am

Voce que um packat disso

Chilinger
MembroAvançado

Masculino PONTOS : 994
REPUTAÇÃO : 22
Idade : 22
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como posso comparar enum de uma class no meu script e buscar todos objetos que tem esse enum.

Mensagem por MarcosSchultz em Qui Out 06, 2016 12:16 am

Seria interessante, para ver como você está montando na sua cena.

MarcosSchultz
Administrador

Masculino PONTOS : 7141
REPUTAÇÃO : 883
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como posso comparar enum de uma class no meu script e buscar todos objetos que tem esse enum.

Mensagem por Chilinger em Ter Out 11, 2016 8:41 am

mediafire.com file/6hu82b8t9g8xd8d/inventario%26mercado.rar

Código:
using UnityEngine;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;

public class objtgui : MonoBehaviour { 

    public Item[] inventario2 = new Item[0];   
   ArrayList MinhaLista = new ArrayList();
    public ItemDataBase[] shop = new ItemDataBase[4];
   
   public Item.ItemTipo tipo;
   
   public float reparo;
   public bool repare;
   public bool vender;
   public bool aparecer;
   int id,i,j;
   public Vector2 scrollPosition;


   // Use this for initialization   
   void Start() {
      MinhaLista.Add ("1");
      MinhaLista.Add ("3");
      
      //j = i+1;
   }


   public void NovoItem(int id){
      double di = 10;
      if (ItemDataBase.precod <= di){
      MinhaLista.Add(id); //Add um novo item na lista
      }
   }

   public void AlterarItem(int ID,string ID2){
      MinhaLista[ID] = ID2; //Altera um item usando o numero do item da lista
   }

   public void RemoverItem(int ID){
   double di = 10;
   double ve = 20.0 / 100.0;
   double final;
    if (vender){
            
   final = ItemDataBase.precod*ve;
   di += final;
   MinhaLista.RemoveAt(ID); //Remover item usando o número do item da lista
   //Array.add(inventario2, item);
    http://inventario2.Remove(item);
   
      }
      
   }   
   
   
void MostrarItemDaTela(ItemDataBase item,float x,float y){
   
   

    GUILayout.BeginArea(new Rect(x,y,175,90),"","box");
    GUILayout.BeginArea(new Rect(5,5,80,80));         
    GUILayout.Box(item.itemTexture,GUILayout.Height(80),GUILayout.Width(80));
    GUILayout.EndArea();
      
    GUILayout.BeginArea(new Rect(90,5,80,80));
    GUILayout.BeginVertical();
    GUILayout.Box(item.itemNome);
    GUILayout.Box(item.precot);
    if (GUILayout.Button("Comprar")){
        NovoItem(item.itemId);               
        }
   GUILayout.EndVertical();
   GUILayout.EndArea();   
   GUILayout.EndArea();

}

void ComprarItem(Item item){
   double di = 10;
    if (ItemDataBase.precod <= di)
    {
       MinhaLista.Add(id);
    http://inventario2.add(item[item.itemId]);
      // inventario2.Add(item);
    }
}
      
void VenderItem(Item item){
   double di = 10;
   double ve = 20.0 / 100.0;
   double final;
    if (vender){
            
   final = ItemDataBase.precod*ve;
   di += final;
   //Array.add(inventario2, item);
    http://inventario2.Remove(item);
   
      }
    }
//
void MostrarInventario(Item item){
         
         
   //scrollPosition = GUILayout.BeginScrollView (scrollPosition, GUILayout.Width (100), GUILayout.Height (100));

   Rect espaco = new Rect ((Screen.width - 230) - Screen.width/2,(Screen.height/4 - Screen.height/5 + 30),550 ,Screen.height);
   GUILayout.BeginArea(espaco);
         
   scrollPosition = GUILayout.BeginScrollView (scrollPosition, GUILayout.Width (200), GUILayout.Height (450));         
   GUILayout.BeginHorizontal();
         
   if(GUILayout.Button(item.itemTexture,GUILayout.Height(85),GUILayout.Width(100))){
            
   }
   GUILayout.BeginVertical();
   GUILayout.Box(item.itemNome,GUILayout.Height(20),GUILayout.Width(130));
   GUILayout.BeginHorizontal();
   
   if(GUILayout.Button("Vender",GUILayout.Height(25),GUILayout.Width(65))){
      RemoverItem(id);
   }            
         //if(repare){
            
   if(GUILayout.Button("Reparar",GUILayout.Height(25),GUILayout.Width(65))){
            
   }
         //}
   GUILayout.EndHorizontal();
   GUILayout.EndVertical();
   GUILayout.EndHorizontal();
   GUILayout.EndScrollView ();
   GUILayout.EndArea();         

   }
   

    // Update is called once per frame
   void OnGUI () {   

      int contador = 0;
      int contadory = 0;
      foreach(var element in shop){


         if(element.itemTipo == Item.ItemTipo.Armas){
            if(contador!=180){
               MostrarItemDaTela(element,contador,contadory);
                  contador=180;
                  //print ("foi");
            }else{
               //MostrarItemDaTela(element,contador,0);               
               MostrarItemDaTela(element,contador,contadory);               
               contadory=95;
               
               //contador+=180;
                  if(contadory == 95){
                     contador=0;
                     //contadory+=95;
                     MostrarItemDaTela(element,contador,contadory);
                     //contadory+=95;
                  }else{
                     //contador+=90;
                     MostrarItemDaTela(element,contador,contadory);
                  }
            }
   
         }
   //foreach (var element in inventario2){
      /*
        if(tipo == Item.ItemTipo.Armas){
         
       
        } if(GUILayout.Button("teste")&& tipo == Item.ItemTipo.Pe){         
      print("foi");
         
        } if(tipo == Item.ItemTipo.Perna){
         
       
        } if(tipo == Item.ItemTipo.Peitoral){
         
         
        } if(tipo == Item.ItemTipo.Mao){
         
       
        } if(tipo == Item.ItemTipo.Pulso){
         
         
        } if(tipo == Item.ItemTipo.Cordao){
         
       
        } if(tipo == Item.ItemTipo.Anel){
         
         
         }   */
      }
   }
}

o codigo eu dei uma modificada mas se poder fazer exemplo
Objetos a b c d.Em ordem que eu coloco no inspetor
A B
C D
Eu fiz o foreach mas nao estou conseguindo fazer o meu inventario ficar assim.E se possivel nao divulgar o codigo que vc fizer para mim agradeço.

Chilinger
MembroAvançado

Masculino PONTOS : 994
REPUTAÇÃO : 22
Idade : 22
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como posso comparar enum de uma class no meu script e buscar todos objetos que tem esse enum.

Mensagem por MarcosSchultz em Qua Out 12, 2016 8:49 pm

Este seu package está dando erros... ele está tentando acessar uma classe que não existe dentro da classe "Item"

MarcosSchultz
Administrador

Masculino PONTOS : 7141
REPUTAÇÃO : 883
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como posso comparar enum de uma class no meu script e buscar todos objetos que tem esse enum.

Mensagem por Chilinger em Sex Out 14, 2016 10:46 am

mediafire.com file/aab2l9jtootjf9d/mercado%26inventario.rar

quero que continue conforme eu va colocando numero mas se nao coloca fica assim o ultimo em cima do quarto elemento nao continua em baixo do terceiro elemento.



Chilinger
MembroAvançado

Masculino PONTOS : 994
REPUTAÇÃO : 22
Idade : 22
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como posso comparar enum de uma class no meu script e buscar todos objetos que tem esse enum.

Mensagem por MarcosSchultz em Dom Out 16, 2016 10:45 pm

Continuo tendo erros neste seu unitypackage quando tento acessar esta classe:

Código:
ItemTipo.Armas

Está anexando todos os scripts?

MarcosSchultz
Administrador

Masculino PONTOS : 7141
REPUTAÇÃO : 883
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como posso comparar enum de uma class no meu script e buscar todos objetos que tem esse enum.

Mensagem por Chilinger em Seg Out 17, 2016 7:11 pm

Não tem nao sei por que so tem um script pois eu coloquei 3 ai dentro.
vou te reenviar agora outro.
mediafire.com file/xxsmxisu9s7sl3n/marcos.unitypackage
mediafire.com file/b34mc81hy2w2epl/marcos.rar

Chilinger
MembroAvançado

Masculino PONTOS : 994
REPUTAÇÃO : 22
Idade : 22
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como posso comparar enum de uma class no meu script e buscar todos objetos que tem esse enum.

Mensagem por MarcosSchultz em Sex Out 21, 2016 12:42 am

Não tem como você zipar o projeto e mandar? aqui vai ficar dando erros infinitos por que eu não tenho a DataBase que os scripts estão acessando... não consigo nem compilá-los sem dar erros.

MarcosSchultz
Administrador

Masculino PONTOS : 7141
REPUTAÇÃO : 883
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como posso comparar enum de uma class no meu script e buscar todos objetos que tem esse enum.

Mensagem por Chilinger em Sex Out 21, 2016 8:59 am

Nesse post la em cima tem dois codigos Item e ItemDataBase cria dois scripts com esse nome e coloca no asset que te mandei esse nao mudao

Chilinger
MembroAvançado

Masculino PONTOS : 994
REPUTAÇÃO : 22
Idade : 22
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como posso comparar enum de uma class no meu script e buscar todos objetos que tem esse enum.

Mensagem por MarcosSchultz em Qua Out 26, 2016 1:18 am

Aeee, finalmente fiz funcionar... organizei tudo em um script só para conseguir entender melhor. 

Código:
using UnityEngine;
using System;
using System.Collections;
using System.Collections.Generic;

[System.Serializable]
public class Item  {
   public string itemNome;
   public int itemId;
   public ItemTipo itemTipo;
   public GameObject itemObjeto;
   public Texture2D itemTexture;
   public enum ItemTipo{
      Armas,
      Pe,
      Perna,
      Peitoral,
      Mao,
      Pulso,
      Cordao,
      Anel
   }
}
[System.Serializable]
public class ItemDataBase : Item {
   public string precot;
   public static double precod;
   public int itemDesc; 
   public ItemDataBase(string nome, int id, string valor,int desconto, double valorI, ItemTipo tipo, GameObject obj, Texture2D textura){
      itemNome = nome;
      itemId = id;
      itemTexture = textura;
      itemObjeto = obj;
      precot = valor;
      precod = valorI;
      itemTipo = tipo;
      itemDesc = desconto;
   }     
}

public class objtgui : MonoBehaviour { 
    public List<Item> inventario2 = new List<Item>();
   public List<ItemDataBase> shop = new List<ItemDataBase>(); 
   public Item.ItemTipo tipo;
   public float reparo;
   public bool repare;
   public bool vender;
   public bool aparecer;
   int id,i,j;
   public Vector2 scrollPosition;

   void MostrarItemDaTela(ItemDataBase item,float x,float y){
       GUILayout.BeginArea(new Rect(0*x,0*y,170,90),"","box");   
       GUILayout.BeginArea(new Rect(0,0,100,80));
       GUILayout.Box(item.itemTexture,GUILayout.Height(80),GUILayout.Width(80));
       GUILayout.EndArea();
      
       GUILayout.BeginArea(new Rect(85,0,80,80));
       GUILayout.BeginVertical();
       GUILayout.Box(item.itemNome);
       GUILayout.Box(item.precot);
       if (GUILayout.Button("Comprar")){
           ComprarItem(item);               
       }
       GUILayout.EndVertical();
       GUILayout.EndArea();   
       GUILayout.EndArea();
   }

   void ComprarItem(Item item){
      double di = 10;
       if (ItemDataBase.precod <= di){
           inventario2.Add(item);
       }
   }
      
   void VenderItem(Item item){
      double di = 10;
      double ve = 20.0 / 100.0;
      double final;
       if (vender){
               
      final = ItemDataBase.precod*ve;
      di += final;
       inventario2.Remove(item);
   
      }
   }
   void MostrarInventario(Item item){
      Rect espaco = new Rect ((Screen.width - 230) - Screen.width/2,(Screen.height/4 - Screen.height/5 + 30),550 ,Screen.height);
      GUILayout.BeginArea(espaco);
      scrollPosition = GUILayout.BeginScrollView (scrollPosition, GUILayout.Width (200), GUILayout.Height (450));         
      GUILayout.BeginHorizontal();
      if(GUILayout.Button(item.itemTexture,GUILayout.Height(85),GUILayout.Width(100))){
               
      }
      GUILayout.BeginVertical();
      GUILayout.Box(item.itemNome,GUILayout.Height(20),GUILayout.Width(130));
      GUILayout.BeginHorizontal();
      
      if(GUILayout.Button("Vender",GUILayout.Height(25),GUILayout.Width(65))){
         VenderItem(item);
      }            
      if(GUILayout.Button("Reparar",GUILayout.Height(25),GUILayout.Width(65))){
               
      }
      GUILayout.EndHorizontal();
      GUILayout.EndVertical();
      GUILayout.EndHorizontal();
      GUILayout.EndScrollView ();
      GUILayout.EndArea();         
   }
   void OnGUI () {   
      foreach (var element in shop){
         if(element.itemTipo == Item.ItemTipo.Armas){
            print("foi");
         }
      }
      for (int x = 0; x < inventario2.Count; x++) {
         MostrarInventario(inventario2[x]);
      }
   }
}

mas vamos ao que interessa. Parece que você já conseguiu resolver a parte do enum. O que quer fazer agora? mostrar os itens na tela? De qual forma? em forma de tabela? ou um item por vez com um botão para passar adiante?

Por que não usa a UI?

MarcosSchultz
Administrador

Masculino PONTOS : 7141
REPUTAÇÃO : 883
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como posso comparar enum de uma class no meu script e buscar todos objetos que tem esse enum.

Mensagem por Chilinger em Qua Out 26, 2016 11:52 am

Vamos la amem.O que eu quero vc conseguiu e eu tambem mas o x agora e colocar em ordem mas 1º 2º em cima do 3º 4º.Mas com a GUILaouyt area eu consigo fazer isso com uma area certo.E as outras duas coisas seriam indicar para outro script qual esta equipado(irei fazer aparecer na tela spawnar a arma) mas tenho que saber qual da lista do inventario e colocar as informaçoes em outros objetos de outra lista que apenas recebam as informaçoes.(Essa parte aqui e HUD com a class inventario + bala + proteçao + sangue)exemplo quanto ira tirar de sangue 10 mas o inimigo tem um equipamento que protege 5 e quantas balas posso atirar.
E por que nao com a Ui pois o jogo esta quase pronto e todo feito na GUI.

Chilinger
MembroAvançado

Masculino PONTOS : 994
REPUTAÇÃO : 22
Idade : 22
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum