我需要將一個類中的一個函式放入另一個類中。而且我想放入序列化欄位的不是所需類的整個 GameObject,而是這個類的一個函式。我該怎么做?
例如,我有一個描述游戲事件的類 GameActions。
public class GameActions : MonoBehaviour
{
public void actionStart()
{
SceneManager.LoadScene("Game");
}
}
我希望能夠通過將另一個類中的函式 actionStart 放入序列化欄位(例如,在 toggleEnd 內部)來觸發它。
public class Countdown : MonoBehaviour
{
[SerializeField] private SomeType toggleEnd;
[SerializeField] private float currTime;
}
uj5u.com熱心網友回復:
要使用 Unity Inspector 存盤和序列化類,您可以將類公開為一個欄位。然后,檢查器將允許您將類拖放到物件欄位中。
public class Countdown : MonoBehaviour
{
// A reference to the GameActions class is serialised here.
[SerializeField] private GameActions _gameActions;
[SerializeField] private float currTime;
// This is an example of a countdown timer.
private void Update ( )
{
currTime -= Time.deltaTime;
if ( currTime < 0 )
{
// This is how you call the GameActions actionStart method.
_gameActions.actionStart ( );
this.enabled = false;
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/511523.html
標籤:C#功能unity3d