将特定于平台的方法组织到部分类

部分类提供了一种将脚本的核心逻辑与特定于平台的方法分离的简洁方法。

部分类和方法用关键字 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

如果未实现部分方法,则编译器将省略该调用。

提示:此模式在创建特定于编辑器的方法时也很有用。