Hướng dẫn cho người mới bắt đầu về giao diện Unity C#

Giao diện trong C# là một hợp đồng xác định một tập hợp các phương thức, thuộc tính và sự kiện mà một lớp phải triển khai. Nó hoạt động như một kế hoạch chi tiết để triển khai chức năng trong nhiều lớp. Các giao diện cung cấp một cách để đạt được tính đa hình, cho phép các lớp khác nhau chia sẻ các hành vi chung.

Unity Giao diện C#

Để sử dụng các giao diện trong Unity, hãy làm theo các bước dưới đây:

  • Tạo một tập lệnh mới và đặt tên bất cứ thứ gì (trong trường hợp của tôi, tôi sẽ đặt tên là InterfaceContainer)
  • Xóa mọi thứ bên trong rồi dán mã bên dưới:
public interface IEntity
{
    void Initialize(); //Function without any arguments
    float health { get; set; } //A variable
    void ApplyDamage(float points); //Function with one argument
}

Giao diện được gọi là IEntity (Lưu ý: Không cần viết hoa i khi bắt đầu, nhưng để thuận tiện, hãy đặt tên tất cả các giao diện của bạn bằng 'I' ở đầu start, bằng cách đó bạn sẽ biết khi nào lớp đó sử dụng một giao diện).

Để sử dụng giao diện trong tập lệnh C#, hãy làm theo các bước bên dưới:

  • Tạo một tập lệnh mới và đặt tên bất cứ thứ gì (trong trường hợp của tôi, tôi sẽ đặt tên là EntityScript)
  • Thêm tên giao diện sau MonoBehaviour, trong trường hợp này là IEntity (cách nhau bằng dấu phẩy)
public class EntityScript : MonoBehaviour, IEntity

Bạn sẽ nhận thấy rằng tập lệnh báo lỗi, đó là do các phương thức giao diện không được triển khai. Vì vậy, hãy triển khai các phương thức 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;
    }
}

Các phương thức giao diện hiện đã được triển khai.

Các giao diện đơn giản hóa quy trình lập trình như thế nào?

Ưu điểm chính của giao diện C# là chúng có thể được nhiều class sử dụng, vì vậy thay vì gọi GetComponent cho mỗi tập lệnh, bạn có thể lấy tất cả tham chiếu tập lệnh bằng cách sử dụng tên giao diện.

Sử dụng giao diện C# khi bạn cần triển khai cùng một phương thức trong nhiều tập lệnh hoặc khi bạn cần tham chiếu một lớp không xác định trong cùng một ngữ cảnh.

Kiểm tra ví dụ dưới đây:

        //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

Đoạn script trên lấy một thành phần có giao diện IEntity, sau đó gọi các phương thức của nó.

Thưởng

Các giao diện cũng có thể chấp nhận các loại dữ liệu tùy chỉnh, ví dụ:

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

Sau đó, kiểu dữ liệu được cung cấp khi triển khai Giao diện trong một Lớp (Nó có thể là loại tiêu chuẩn chẳng hạn như float hoặc int hoặc một loại phức tạp hơn chẳng hạn như Class hoặc thậm chí một loại khác Giao diện):

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;
    }
}
Bài viết được đề xuất
Giới thiệu về State Machine trong Unity
Mã hóa một hệ thống kiểm kê đơn giản bằng tính năng kéo và thả giao diện người dùng trong Unity
Hiển thị văn bản khi chạm vào đối tượng trong Unity
Hướng dẫn về MonoBehaviour trong Unity
Làm thế nào để trở thành một lập trình viên giỏi hơn trong Unity
Phương pháp làm xáo trộn Unity và bảo vệ chống hack
Thêm mục nhập của người chơi vào ô tô trong Unity