在WW启动时,主要使用了XML序列化和反序列化的方式来读取相关参数。基础类为SettingBase,派生类为WorldWindSettings和WorldSettings。
在WorldWind类中声明了: public static WorldWindSettings Settings = new WorldWindSettings();
在World类中声明了: public static WorldSettings Settings = new WorldSettings();
理解为:WorldWindSettings类对象从硬盘WorldWind.xml文件中反序列化获得相关参数,供WorldWind类使用。WorldSettings类对象从硬盘World.xml文件中反序列化获得相关参数,供World类使用。
SettingBase主要属性和方法为:
1)xml文件名称,存储位置和程序版本。比如WorldWind.xml存储在C盘某某文件夹下。
2)Save方法。将相关参数保存,也就是实现XML序列化的功能,将参数保存到硬盘相关xml文件中。
3)Load方法。读出相关参数,也就是实现XML反序列化的功能,将参数从硬盘相关xml读出来赋予给Settings对象。
4)其他(相对来说不太重要的信息或者自己没注意到的信息)
WorldWindSettings主要属性和方法为:
1)继承了SettingBase的4个特性
2)Cache相关信息:缓存相关位置,路径,大小
3)Config相关信息:ConfigPath,ConfigurationWizardAtStartup等
4)默认球体(一般为地球)
5)Proxy相关信息:url,用户名和密码
6)PluginsLoadedOnStartup:程序启动时加载的插件序列
7)其他
WorldSettings主要属性和方法为:
1)继承了SettingBase的4个特性
2)是否显示经纬度,十字丝等等。
3)相机参数等等
4)LayerManager属性,比如字体,颜色,大小等等
5)Toolbar相关属性
6)其他
属性太多了,总体概括为只要和程序界面相关的基本都涉及到了。