Exemplo n.º 1
0
        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)
                    });
                }
            }
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        //  //UI修改时  写入
        // public string map_name = "";//地图名字  跟随 json 和data
        //  public string map_brief = "";//地图简介 跟随json 和data

        void OnDestroy()
        {
            ins = null;
        }
Exemplo n.º 4
0
 void Awake()
 {
     ins = this;
 }
Exemplo n.º 5
0
 public void SaveJson(MapObjectRoot root)
 {
     string json = root.SerializeToJson();
     //save to local
 }
Exemplo n.º 6
0
 public void Reload(MapObjectRoot root)
 {
     //  root.Reload(this);
     // this.ReloadJson( jjson  ,root);
     //   root.Reload(this);
 }