ET框架学习——配置(表)相关类(JsonHelper,ConfigHelper,GlobalProto)

        GlobalConfigComponent类内容不多,一个GlobalProto类型字段,一个Awake方法。01

01

        ConfigHelper类的静态方法GetGlobal返回的是GlobalProto.text文档中的内容。如下:两个地址

两个地址

GetGlobal方法中, ResourceHelper的静态方法Load(string path),返回的Unity的Object对象。而load方法则是使用的Unity的Resource类的load方法,只是简单包装了一下。而GlobalProto.text文档则使用ReferenceCollector组件,封进了一个perfere预设体中去。关于ReferenceCollector,可以看我之前的文章。获取到预设体对象后,通过Get<TextAsset>泛型方法,获取到对应的文档中的字符串。 

        ConfigHelper类中还有一个静态方法GetText(string key),该方法需要Scene类添加ResourcesComponent组件,该组件应该是用于资源管理的组件,可以后面再说。调用该类的GetAsset(string bundleName, string prefab)方法,传入对应的预设体和ab包名就可以获取相应的预设体,这里直接写死了(参数是:"config.unity3d", "Config"),想必是将text文档全部挂在了Config这个预设体上了,方便管理和获取。还有一个从json文件读取资源的方法,调用的是JsonHelper的静态方法。

       JsonHelper类中调用的是第三方库LitJson中的代码,进行了包装。提供两种方法,ToJson(object obj)FromJson的重载方法。ToJson方法返回JsonMapper对象。FromJson重载方法接受一个字符串参数(type类型参数)。使用FromJson的ToObject静态方法,读取对应字符串,并且返回对象。其中,有一步,将json读取的对象转换成ISupportInitialize类型,强转成功后,调用ISupportInitialize接口的EndInit方法。01

01

          GlobalProto类中定义了AssetBundleServerUrl地址,根据平台不同,定义不同。

定义不同。

猜你喜欢

转载自blog.csdn.net/Tong1993222/article/details/82227051