コード例 #1
0
ファイル: Stage.cs プロジェクト: spi8823/Sudenona
        /// <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 + ")");
        }
コード例 #2
0
ファイル: Stage.cs プロジェクト: taiseiKMC/minge-
        /// <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 + ")");
        }