using UnityEngine;
using System;
public interface IAimPanel
{
public GameObject GetGameObject()。
}
public class Target : MonoBehaviour, IAimPanel
{
public GameObject GetGameObject()
{
return gameObject;
}
}
public class Test : MonoBehaviour
{
public IAimPanel aimPanel;
private void Start()
{
aimPanel.GetGameObject().SetActive(true)。
}
我希望能夠在Unity C#中通過介面訪問gameObject,我已經在上面的代碼中做到了,但是我希望有一個更優雅的實作。
像這樣
private void Start()
{
aimPanel.gameObject.SetActive(true)。
}
uj5u.com熱心網友回復:
在類和介面中把你的方法改成一個屬性。
public interface IAimPanel
{
GameObject 游戲物件 { get; }
}
public class Target : MonoBehaviour, IAimPanel !
{
public GameObject GameObject => gameObject;
然后你就可以按照你指定的方式訪問它了:
private void Start()
{
aimPanel.GameObject.SetActive(true)。
}
注意,按照慣例,屬性是大寫的,所以這就是為什么我用GameObject而不是gameObject來表示這個屬性。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/312445.html
標籤:
