Mam mały problem a mianowicie nie wiem jak rozpoznawać dany gameobject podczas metody ontriggerenter .
Zrobiłem przykladowa klase z polami do ekwipunku :
public class Items {
//ogolne
public int idElementu;
public string nazwaElementu;
//bronie
public int obrazeniaBroni;
//mikstury oraz zywnosc
public int iloscZycia;
public int iloscMany;
public int iloscWytrzymalosci;
public TypElementu typElementu;
public Items(int id_elementu, string nazwa_elementu, int obrazenia_broni, int ilosc_zycia, int ilosc_many, int ilosc_wytrzymalosci, TypElementu typ)
{
this.idElementu = id_elementu;
this.nazwaElementu = nazwa_elementu;
this.obrazeniaBroni = obrazenia_broni;
this.iloscZycia = ilosc_zycia;
this.iloscMany = ilosc_many;
this.iloscWytrzymalosci = ilosc_wytrzymalosci;
this.typElementu = typ;
}
public Items(int id , string nazwa, int iloscZycia, TypElementu typ)
{
this.idElementu = id;
this.nazwaElementu = nazwa;
this.iloscZycia = iloscZycia;
this.typElementu = typ;
}
//enumy wlasnosci broni i przedmiotow
public enum TypElementu
{
bron_jednoreczna,
bron_dwureczna,
tarcza,
mikstura_zycia,
mikstura_many,
mikstura_wytrzymalosci,
owoce,
grzyby
}
}
Stworzyłem kolejna klase która ma odpowiadać za podniesienie danego przedmiotu . Do każdego przedmiotu na scenie przypisałem tag "Przedmiot".
I teraz pytanie jak sprawdzić , który dany przedmiot o danym tagu podniosłem ? Np. jeżeli dotknę banana o tagu przedmiot to w kolekcji pojawi się banan i jego dane a jak inny przedmiot to pojawia się jego dane :
public List<Items> listaPodniesionychPrzedmiotow = new List<Items>();
public GameObject panelPodniesionePrzedmiotu;
IdPodniesionePrzedmiotu id = new IdPodniesionePrzedmiotu();
AudioSource audioSource;
public AudioClip audioClip;
public Image[] ikonyEkwipunku;
public Image[] IkonyEkwipunku
{
get { return ikonyEkwipunku; }
set { ikonyEkwipunku = value; }
}
public Sprite ikonaJablka;
public Sprite ikonaBanana;
public Sprite ikonaTruskawki;
public Sprite ikonaKiwi;
public Sprite ikonaGruszka;
public Sprite ikonaMuchomora;
public Sprite zwyklyMieczJednoreczny;
public Sprite zwyklyToporekJednoreczny;
public Sprite zwyklyMieczDwureczny;
// Use this for iniialization
void Start()
{
panelPodniesionePrzedmiotu.SetActive(false);
id = new IdPodniesionePrzedmiotu();
audioSource = GetComponent<AudioSource>();
ikonyEkwipunku[0].enabled = false;
ikonyEkwipunku[1].enabled = false;
ikonyEkwipunku[2].enabled = false;
ikonyEkwipunku[3].enabled = false;
ikonyEkwipunku[4].enabled = false;
ikonyEkwipunku[5].enabled = false;
ikonyEkwipunku[6].enabled = false;
ikonyEkwipunku[7].enabled = false;
ikonyEkwipunku[8].enabled = false;
ikonyEkwipunku[9].enabled = false;
ikonyEkwipunku[10].enabled = false;
ikonyEkwipunku[11].enabled = false;
ikonyEkwipunku[12].enabled = false;
ikonyEkwipunku[13].enabled = false;
ikonyEkwipunku[14].enabled = false;
ikonyEkwipunku[15].enabled = false;
ikonyEkwipunku[16].enabled = false;
ikonyEkwipunku[17].enabled = false;
ikonyEkwipunku[18].enabled = false;
ikonyEkwipunku[19].enabled = false;
ikonyEkwipunku[20].enabled = false;
ikonyEkwipunku[21].enabled = false;
ikonyEkwipunku[22].enabled = false;
ikonyEkwipunku[23].enabled = false;
ikonyEkwipunku[24].enabled = false;
// ikonyEkwipunku[25].enabled = false;
}
// Update is called once per frame
void Update()
{
//if(listaPodniesionychPrzedmiotow.Count >= 10)
//{
//}
}
private void OnTriggerEnter(Collider other)
{
if (other.gameObject.tag == "Jablko")
{
Debug.Log("Jablko");
audioSource.PlayOneShot(audioClip);
Destroy(other.gameObject);
//panelPodniesionePrzedmiotu.SetActive(true);
id.idPodniesionegoPrzedmiotu = BazaDanychInwentarz.bazaDanych[0].idElementu;
listaPodniesionychPrzedmiotow.Add(new Items(BazaDanychInwentarz.bazaDanych[0].idElementu, BazaDanychInwentarz.bazaDanych[0].nazwaElementu,
BazaDanychInwentarz.bazaDanych[0].iloscZycia, BazaDanychInwentarz.bazaDanych[0].typElementu));
if (ikonyEkwipunku[0].sprite == null)
{
ikonyEkwipunku[0].enabled = true;
ikonyEkwipunku[0].sprite = ikonaJablka;
}
else if (ikonyEkwipunku[1].sprite == null)
{
ikonyEkwipunku[1].enabled = true;
ikonyEkwipunku[1].sprite = ikonaJablka;
}
else if (ikonyEkwipunku[2].sprite == null)
{
ikonyEkwipunku[2].enabled = true;
ikonyEkwipunku[2].sprite = ikonaJablka;
}
else if (ikonyEkwipunku[3].sprite == null)
{
ikonyEkwipunku[3].enabled = true;
ikonyEkwipunku[3].sprite = ikonaJablka;
}
else if (ikonyEkwipunku[4].sprite == null)
{
ikonyEkwipunku[4].enabled = true;
ikonyEkwipunku[4].sprite = ikonaJablka;
}
else if (ikonyEkwipunku[5].sprite == null)
{
ikonyEkwipunku[5].enabled = true;
ikonyEkwipunku[5].sprite = ikonaJablka;
}
else if (ikonyEkwipunku[6].sprite == null)
{
ikonyEkwipunku[6].enabled = true;
ikonyEkwipunku[6].sprite = ikonaJablka;
}
else if (ikonyEkwipunku[7].sprite == null)
{
ikonyEkwipunku[7].enabled = true;
ikonyEkwipunku[7].sprite = ikonaJablka;
}
else if (ikonyEkwipunku[8].sprite == null)
{
ikonyEkwipunku[8].enabled = true;
ikonyEkwipunku[8].sprite = ikonaJablka;
}
else if (ikonyEkwipunku[9].sprite == null)
{
ikonyEkwipunku[9].enabled = true;
ikonyEkwipunku[9].sprite = ikonaJablka;
}
else if (ikonyEkwipunku[10].sprite == null)
{
ikonyEkwipunku[10].enabled = true;
ikonyEkwipunku[10].sprite = ikonaJablka;
}
else if (ikonyEkwipunku[11].sprite == null)
{
ikonyEkwipunku[11].enabled = true;
ikonyEkwipunku[11].sprite = ikonaJablka;
}
else if (ikonyEkwipunku[12].sprite == null)
{
ikonyEkwipunku[12].enabled = true;
ikonyEkwipunku[12].sprite = ikonaJablka;
}
else if (ikonyEkwipunku[13].sprite == null)
{
ikonyEkwipunku[13].enabled = true;
ikonyEkwipunku[13].sprite = ikonaJablka;
}
else if (ikonyEkwipunku[14].sprite == null)
{
ikonyEkwipunku[14].enabled = true;
ikonyEkwipunku[14].sprite = ikonaJablka;
}
else if (ikonyEkwipunku[15].sprite == null)
{
ikonyEkwipunku[15].enabled = true;
ikonyEkwipunku[15].sprite = ikonaJablka;
}
else if (ikonyEkwipunku[16].sprite == null)
{
ikonyEkwipunku[16].enabled = true;
ikonyEkwipunku[16].sprite = ikonaJablka;
}
else if (ikonyEkwipunku[17].sprite == null)
{
ikonyEkwipunku[17].enabled = true;
ikonyEkwipunku[17].sprite = ikonaJablka;
}
else if (ikonyEkwipunku[18].sprite == null)
{
ikonyEkwipunku[18].enabled = true;
ikonyEkwipunku[18].sprite = ikonaJablka;
}
else if (ikonyEkwipunku[18].sprite == null)
{
ikonyEkwipunku[18].enabled = true;
ikonyEkwipunku[18].sprite = ikonaJablka;
}
else if (ikonyEkwipunku[19].sprite == null)
{
ikonyEkwipunku[19].enabled = true;
ikonyEkwipunku[19].sprite = ikonaJablka;
}
else if (ikonyEkwipunku[20].sprite == null)
{
ikonyEkwipunku[20].enabled = true;
ikonyEkwipunku[20].sprite = ikonaJablka;
}
else if (ikonyEkwipunku[21].sprite == null)
{
ikonyEkwipunku[21].enabled = true;
ikonyEkwipunku[21].sprite = ikonaJablka;
}
else if (ikonyEkwipunku[22].sprite == null)
{
ikonyEkwipunku[22].enabled = true;
ikonyEkwipunku[22].sprite = ikonaJablka;
}
else if (ikonyEkwipunku[23].sprite == null)
{
ikonyEkwipunku[23].enabled = true;
ikonyEkwipunku[23].sprite = ikonaJablka;
}
else if (ikonyEkwipunku[24].sprite == null)
{
ikonyEkwipunku[24].enabled = true;
ikonyEkwipunku[24].sprite = ikonaJablka;
}
else if (ikonyEkwipunku[25].sprite == null)
{
ikonyEkwipunku[25].enabled = true;
ikonyEkwipunku[25].sprite = ikonaJablka;
}
}
Bo nie chce sprawdzać każdego elementu kolekcji po kolei ? Z góry dziekuje za pomoc