/// <summary> /// 現在シーン上に配置されているオブジェクトをいくつかのタグごとで別のJson用オブジェクトにして、Jsonファイルに書き込む /// </summary> /// <param name="filename">保存するステージの名前</param> /// <param name="limit">ステージの制限時間</param> /// <param name="slotcount">アイテムスロットの個数</param> /// <param name="region">ステージの(行動可能)範囲</param> public static void Save(string filename) { Stage stage = new Stage(); foreach(var g in GameObject.FindGameObjectsWithTag("Terrain")) { if (g.transform.parent.name != "Terrains") continue; Terrain terrain = new Terrain(g); stage.Terrains.Add(terrain); } foreach(var g in GameObject.FindGameObjectsWithTag("Enemy")) { if (g.transform.parent.name != "Enemies") continue; Enemy enemy = new Enemy(g); stage.Enemies.Add(enemy); } foreach(var g in GameObject.FindGameObjectsWithTag("Gimmick")) { if (g.transform.parent.name != "Gimmicks") continue; Gimmick gimmick = new Gimmick(g); stage.Gimmicks.Add(gimmick); } foreach(var g in GameObject.FindGameObjectsWithTag("Item")) { if (g.transform.parent.name != "Items") continue; Item item = new Item(g); stage.Items.Add(item); } string jsontext = JsonMapper.ToJson(stage); StreamWriter writer = new StreamWriter(Application.dataPath + "/Resources/StageJson/" + filename + ".json"); writer.Write(jsontext); writer.Close(); Debug.Log("ステージ作った(ステージ名:" + filename + ")"); }
/// <summary> /// 現在シーン上に配置されているオブジェクトをいくつかのタグごとで別のJson用オブジェクトにして、Jsonファイルに書き込む /// </summary> /// <param name="stagename">保存するステージの名前</param> /// <param name="limit">ステージの制限時間</param> /// <param name="slotcount">アイテムスロットの個数</param> /// <param name="region">ステージの(行動可能)範囲</param> public static void Save(string stagename, int limit, int slotcount, Region region) { Stage stage = new Stage(); stage.TimeLimit = limit; stage.SlotCount = slotcount; stage.StageRegion = region; foreach(var g in GameObject.FindGameObjectsWithTag("Player")) { Player player = new Player(g); stage.Players.Add(player); } foreach(var g in GameObject.FindGameObjectsWithTag("Terrain")) { Terrain terrain = new Terrain(g); stage.Terrains.Add(terrain); } foreach(var g in GameObject.FindGameObjectsWithTag("Gimmick")) { Gimmick gimmick = new Gimmick(g); stage.Gimmicks.Add(gimmick); } foreach(var g in GameObject.FindGameObjectsWithTag("Flag")) { Flag flag = new Flag(g); stage.Flags.Add(flag); } foreach(var g in GameObject.FindGameObjectsWithTag("Item")) { Item item = new Item(g); stage.Items.Add(item); } string jsontext = JsonMapper.ToJson(stage); StreamWriter writer = new StreamWriter(Application.dataPath + "/Resources/StageJson/" + stagename + ".json"); writer.Write(jsontext); writer.Close(); Debug.Log("ステージ作った(ステージ名:" + stagename + ")"); }