Panduan Pemula Antarmuka Unity C#

Antarmuka dalam C# adalah kontrak yang mendefinisikan sekumpulan metode, properti, dan peristiwa yang harus diimplementasikan oleh suatu kelas. Ini bertindak sebagai cetak biru untuk mengimplementasikan fungsionalitas di banyak kelas. Antarmuka menyediakan cara untuk mencapai polimorfisme, memungkinkan kelas yang berbeda untuk berbagi perilaku yang sama.

Unity Antarmuka C#

Untuk menggunakan antarmuka di Unity, ikuti langkah-langkah di bawah ini:

  • Buat skrip baru dan beri nama apa saja (dalam kasus saya, saya akan menamainya InterfaceContainer)
  • Hapus semua yang ada di dalamnya lalu tempelkan kode di bawah ini:
public interface IEntity
{
    void Initialize(); //Function without any arguments
    float health { get; set; } //A variable
    void ApplyDamage(float points); //Function with one argument
}

Antarmukanya disebut IEntity (Catatan: Huruf kapital i di awal tidak diperlukan, tetapi untuk kenyamanan, beri nama semua antarmuka Anda dengan 'I' di awal mulai, dengan cara itu Anda akan tahu kapan kelas menggunakan antarmuka).

Untuk menggunakan antarmuka dalam skrip C#, ikuti langkah-langkah di bawah ini:

  • Buat skrip baru dan beri nama apa saja (dalam kasus saya, saya akan menamainya EntityScript)
  • Tambahkan nama antarmuka setelah MonoBehaviour, yang dalam hal ini adalah IEntity (dipisahkan dengan koma)
public class EntityScript : MonoBehaviour, IEntity

Anda akan melihat bahwa skrip memberikan kesalahan, itu karena metode antarmuka tidak diterapkan. Jadi mari kita terapkan metode IEntity:

using UnityEngine;

public class EntityScript : MonoBehaviour, IEntity
{

    public float health { get; set; }

    public void Initialize()
    {
        health = 100;
    }

    public void ApplyDamage(float points)
    {
        health -= points;
    }
}

Metode antarmuka sekarang diimplementasikan.

Bagaimana antarmuka menyederhanakan alur kerja pemrograman?

Keuntungan utama antarmuka C# adalah dapat digunakan oleh beberapa kelas, jadi daripada memanggil GetComponent untuk setiap skrip, Anda bisa mendapatkan semua referensi skrip dengan menggunakan nama antarmuka.

Gunakan antarmuka C# saat Anda perlu mengimplementasikan metode yang sama di lebih dari satu skrip, atau saat Anda perlu mereferensikan kelas yang tidak dikenal dalam konteks yang sama.

Periksa contoh di bawah ini:

        //Get the script that uses IEntity interface
        IEntity interfaceEntity = gameObject.GetComponent<IEntity>();
        interfaceEntity.Initialize(); //Initializing the entity
        interfaceEntity.ApplyDamage(10); //Applying the damage
        interfaceEntity.health += 10; //Healing the entity

Script di atas mengambil komponen dengan antarmuka IEntity, lalu memanggil metodenya.

Bonusnya

Antarmuka juga dapat menerima tipe data khusus, misalnya:

public interface IHealable<T>
{
    void Heal(T type);
}

Tipe data kemudian disediakan saat mengimplementasikan Antarmuka di Kelas (Bisa berupa tipe standar seperti float atau int, atau tipe yang lebih kompleks seperti Class atau bahkan yang lain Antarmuka):

using UnityEngine;

public class EntityScript : MonoBehaviour, IEntity, IHealable<int>
{

    public float health { get; set; }

    public void Initialize()
    {
        //health = 100;
        Heal(100);
    }

    public void ApplyDamage(float points)
    {
        health -= points;
    }

    public void Heal(int points)
    {
        health = points;
    }
}
Artikel yang Disarankan
Pengantar Mesin Negara di Unity
Panduan Pemuatan Adegan di Unity
Panduan Komprehensif untuk Mengubah Rotasi dalam Kesatuan
Menambahkan Entri Pemain ke Mobil di Unity
Menerapkan Kontrol Headset VR di Unity
Panduan untuk Mengintegrasikan Pengontrol Nintendo dengan Unity
Cuplikan Kode Berguna Teratas untuk Pengembang Unity