public void Save(MapObjectRoot root) { SaveJson(root); return; {//save map object _map_objs = new List <MapObjectData>(); _map_objs.Clear(); foreach (var p in root.GetComponentsInChildren <MapObject>(true)) { _map_objs.Add(new MapObjectData { prefab = p.gameObject.name, position = p.transform.position }); } } {//save map object decroate foreach (var p in root.GetComponentsInChildren <MapObjectDecorate>(true)) { _map_objs.Add(new MapObjectData { prefab = p.gameObject.name, position = p.transform.position }); } } {//save spawn point _spawn_points = new List <SpawnPointData>(); _spawn_points.Clear(); foreach (var p in root.GetComponentsInChildren <MapObjectSpawnPoint>(true)) { _spawn_points.Add(new SpawnPointData { position = p.transform.position }); } } {//save weapon spawn point _weapon_spawn_points = new List <WeaponSpawnPointData>(); _weapon_spawn_points.Clear(); foreach (var p in root.GetComponentsInChildren <MapObjectWeaponSpawnPoint>(true)) { _weapon_spawn_points.Add(new WeaponSpawnPointData { position = p.transform.position, ids = new List <int>(p._weapon_ids) }); } } }
public string ToJson(MapObjectRoot root) { Serializable.Map map = new Serializable.Map(); map.theme = MapEditorConfig.CurrentSelectTheme; map.creator = (ulong)StaticData.luuid; map.uuid = 0; //(ulong)id; var serializes = this.transform.GetComponentsInChildren <EditorSerializeBase>(); foreach (var p in serializes) { p.SerializeObject(map); } //填充额外信息 //因为只能编辑一个地图 因此 除了新建地图 name brief 只读写 不清空 //填充额外信息 map.name = MapEditorStroageData.current_map_name; //root.map_name; map.brief = MapEditorStroageData.current_map_brief; // root.map_brief; //地图的模式 map.MapInfoMode = (int)MapEditorConfig.CurrentMapGameMode; if (MapEditorConfig.CurrentMapGameMode == MapGameMode.Share) { map.map_expansion = new Serializable.MapExpansion(); map.map_expansion.SetEdgeBox(MapEditorStroageData.edgebox_left, MapEditorStroageData.edgebox_right, MapEditorStroageData.edgebox_up, MapEditorStroageData.edgebox_down); map.map_expansion.bigMap = 1; } if (MapEditorConfig.CurrentMapGameMode == MapGameMode.Parkour) {//酷跑模式 // map.map_parkour = new Serializable.MapParkour(); //关于地图编辑器的模式 先case by case 待需求明确后 重构一下 map.map_parkour = new Serializable.MapParkour(); map.map_parkour.edgebox_left = MapEditorStroageData.edgebox_left; map.map_parkour.edgebox_right = MapEditorStroageData.edgebox_right; map.map_parkour.edgebox_down = MapEditorStroageData.edgebox_down; map.map_parkour.edgebox_up = MapEditorStroageData.edgebox_up; } //用新版本地图 map.version = "1.1"; var str = map.ToJson(); return(str); }
// //UI修改时 写入 // public string map_name = "";//地图名字 跟随 json 和data // public string map_brief = "";//地图简介 跟随json 和data void OnDestroy() { ins = null; }
void Awake() { ins = this; }
public void SaveJson(MapObjectRoot root) { string json = root.SerializeToJson(); //save to local }
public void Reload(MapObjectRoot root) { // root.Reload(this); // this.ReloadJson( jjson ,root); // root.Reload(this); }