Untuk memperluas jawaban Tetrad, pertimbangkan skrip seperti ini:
public class GameSystem : MonoBehavior
{
private GameSystem m_Instance;
public GameSystem Instance { get { return m_Instance; } }
void Awake()
{
m_Instance = this;
}
void OnDestroy()
{
m_Instance = null;
}
void Update()
{
// global game update logic goes here
}
void OnGui()
{
// common GUI code goes here
}
// etc.
}
Anda kemudian dapat membuat objek yang disebut "GameSystem" di root adegan Anda. Satu-satunya komponen yang dimilikinya adalah komponen transformasi bawaan (atur posisinya ke asal, rotasi ke identitas, dan skalanya menjadi satu; bukan itu yang penting, tapi itu praktik yang baik). Terlampir komponen GameSystem ke objek itu.
Anda sekarang dapat mengakses objek global Anda hanya dengan menggunakan GameSystem.Instance.blah (). Metode event handler dipanggil secara otomatis oleh Unity karena berasal dari MonoBehavior dan ada sebagai komponen. Anda bisa menambahkan bidang yang merujuk objek atau komponen game lain dan menghubungkannya dalam tampilan hierarki objek Persatuan.
Ya, ini semua sedikit "aneh." Rasanya sedikit kotor karena harus membuat objek (yang bahkan memiliki transformasi) yang selalu merupakan singleton global. Itulah yang dibutuhkan Unity untuk membuat objek global yang mendapatkan pesan Pembaruan dan dapat dimanipulasi dengan editor properti Unity default.
Cukup buat objek manajer tempat Anda meletakkan skrip itu. Mungkin membuat variabel statis untuk skrip yang Anda tetapkan
Awake
sehingga Anda memiliki akses global yang mudah ke sana.sumber