將特定於平臺的方法組織到部分類

部分類提供了一種將指令碼的核心邏輯與特定於平臺的方法分離的簡潔方法。

部分類和方法用關鍵字 partial 標記。這表示編譯器將類保持為開啟,並檢視其他檔案以瞭解其餘的實現。

// ExampleClass.cs
using UnityEngine;

public partial class ExampleClass : MonoBehaviour
{
    partial void PlatformSpecificMethod();

    void OnEnable()
    {
        PlatformSpecificMethod();
    }
}

現在我們可以為實現部分方法的平臺特定指令碼建立檔案。部分方法可以有引數(也可以是 ref),但必須返回 void

// ExampleClass.Iphone.cs

#if UNITY_IPHONE
using UnityEngine;

public partial class ExampleClass
{
    partial void PlatformSpecificMethod()
    {
        Debug.Log("I am an iPhone");
    }
}
#endif
// ExampleClass.Android.cs

#if UNITY_ANDROID
using UnityEngine;

public partial class ExampleClass
{
    partial void PlatformSpecificMethod()
    {
        Debug.Log("I am an Android");
    }
}
#endif

如果未實現部分方法,則編譯器將省略該呼叫。

提示:此模式在建立特定於編輯器的方法時也很有用。