volaní metod
SendMessage
- Prohledá všechny scripty na objektu a spustí metody se zadaným názvem.
- Při více scriptech na objektu je pomalý.
- Volaná metoda může být privátní(private).
public GameObject Cílový_objekt;
.....
void metoda()
{
Cílový_object.SendMessage("Název_metody");
}
nebo
void metoda()
{
GameObject.Find("Cílový_objekt").SendMessage("Název_metody");
}
GetComponent
- Spustí jen volanou metodu.
- Volaná metoda musí být veřejná(public).
void OnCollisionEnter2D(Collision2D col)
{
if(col.collider.CompareTag("Tag_objektu"))
{
GameObject objekt = col.collider.gameObject;
objekt.GetComponent <Název_scriptu>().metoda();
}
}
void metoda()
{
GameObject.Find("Cílový_objekt").GetComponent<Název_scriptu>().Název_metody();
}
Statické metody
- Spustí jen volanou metodu.
- Volaná metoda musí být veřejná(public).
void OnTriggerEnter2D(Collider2D col)
{
if (col.CompareTag("trefa"))
{
if (col != null)
ukazHo.AddScore();
}
}
public class ukazHo : MonoBehaviour
{
static int score = 0;
.......
void Start ()
{
score = 0;
}
public static void AddScore()
{
score++;
}
}