//if www resource is new, set into www cache if (!wwwCacheMap.ContainsKey(fullFileName)) { if (asset.www == null) { asset.www = new WWW(fullFileName); return null; }
if (!asset.www.isDone) { return null; } wwwCacheMap.Add(fullFileName, asset.www); } 。。。
这里只设置了gameobject的3个属性,眼力好的同学一定会发现这些对象都是“死的”,因为少了脚本属性,它们不会和玩家交互。设置脚本属性要复杂的多,编译好的脚本随着主程序下载到本地,它们也应该通过配置文件加载,再通过C#的反射创建脚本对象,赋给相应的gameobject。 最后是Scene和asset代码: C#代码: public class Scene { public List AssetList { get; set; } }
public class Asset {
public const byte TYPE_JSON = 1; public const byte TYPE_GAMEOBJECT = 2;
public Asset() { //default type is gameobject for json load Type = TYPE_GAMEOBJECT; }