上文中列出了SvrPlugin的具体实现代码,本文将对代码进行讲解:
首先SvrPlugin是一个abstract 抽象类,抽象类的原因是SDK中会根据平台来实例化对应的SvrPlugin,包括SvrPluginAndroid以及SvrPluginWin。
SvrPlugin提供了Instance变量来获取程序中的SvrPlugin实例。
abstract class SvrPlugin
{
private static SvrPlugin instance;
public static SvrPlugin Instance
{
get
{
if (instance == null)
{
if(!Application.isEditor && Application.platform == RuntimePlatform.Android)
{
instance = SvrPluginAndroid.Create();
}
else
{
instance = SvrPluginWin.Create();
}
}
return instance;
}
}
从上诉的代码中可以看到通过SvrPlugin.Instance获取的实例具体实现逻辑为,首先通过Application.isEditor以及Application.platform来判断当前程序运行的状态类型。如果为Android类型 instance返回的是SvrPluginAndroid实例,如果运行的是editor模式则返回的是SvrPluginWin实例。
具体的SvrPluginAndroid以及SvrPluginWin脚本,会在后面的章节中进行介绍。