/// <summary> /// ファイル出力 /// </summary> void OutputFile() { string path = editor.OutputFilePath(); GetMapStringFormat(); SquareDataSerialize asset = CreateInstance <SquareDataSerialize>(); asset.Map = dataLis; AssetDatabase.CreateAsset(asset, path + ".asset"); EditorUtility.DisplayDialog("MapCreater", "output file success\n" + path, "ok"); // scriptableObjectの値を保存する EditorUtility.SetDirty(asset); AssetDatabase.SaveAssets(); }
void OnGUI() { EditorGUILayout.LabelField("スゴロク用マップツール"); EditorGUILayout.Space(); EditorGUILayout.LabelField("新規で作りたい場合は再読み込みデータには何も入れないでね"); if (mapCreater == null) { mapCreater = new MapCreater(); } // エディタ基本情報 GUILayout.BeginVertical(); { // データの再読み込み GUILayout.BeginHorizontal(); { GUILayout.Label("再読み込みデータ ", GUILayout.Width(130)); LoadSquareData = EditorGUILayout.ObjectField(LoadSquareData, typeof(Object), true); if (LoadSquareData != null) { // パス取得、データ読み込み string squareDataPath = AssetDatabase.GetAssetPath(LoadSquareData); SquareData = AssetDatabase.LoadAssetAtPath(squareDataPath, typeof(ScriptableObject)) as SquareDataSerialize; } GUILayout.EndHorizontal(); EditorGUILayout.Space(); } // エディタで使う画像あれこれ GUILayout.BeginHorizontal(); { GUILayout.Label("画像読み込みフォルダ ", GUILayout.Width(130)); // 任意のオブジェクトの Type を表示するフィールドを作成 //オブジェクトをドラッグアンドドロップするか Object Picker を使用してオブジェクトを選択するかのいずれかでオブジェクトを割り当てる inputDirectory = EditorGUILayout.ObjectField(inputDirectory, typeof(Object), true); GUILayout.EndHorizontal(); EditorGUILayout.Space(); } // マップ全体の大きさ GUILayout.BeginHorizontal(); { GUILayout.Label("マップの大きさ ", GUILayout.Width(130)); if (LoadSquareData == null) { MapSize = EditorGUILayout.IntField(MapSize); } else { MapSize = EditorGUILayout.IntField(SquareData.Map.Count); } GUILayout.EndHorizontal(); EditorGUILayout.Space(); } // グリッドの大きさ GUILayout.BeginHorizontal(); { GUILayout.Label("マス目の大きさ ", GUILayout.Width(130)); GridSize = EditorGUILayout.FloatField(GridSize); GUILayout.EndHorizontal(); EditorGUILayout.Space(); } // 出力したデータを保存するフォルダ GUILayout.BeginHorizontal(); { GUILayout.Label("保存するフォルダ ", GUILayout.Width(130)); outputDirectory = EditorGUILayout.ObjectField(outputDirectory, typeof(Object), true); GUILayout.EndHorizontal(); EditorGUILayout.Space(); } // データの名前 GUILayout.BeginHorizontal(); { GUILayout.Label("ファイルネーム ", GUILayout.Width(130)); outputFileName = EditorGUILayout.TextField(outputFileName); GUILayout.EndHorizontal(); EditorGUILayout.Space(); } GUILayout.EndHorizontal(); } DrawImages(); DisplaySelectedImage(); OpenMapWindowButton(); }