Editor First Commit

This commit is contained in:
2022-11-16 15:53:06 +03:00
parent 59c1924fab
commit 810d621fcd
4 changed files with 74 additions and 4 deletions

View File

@@ -0,0 +1,51 @@
using UnityEngine;
using UnityEditor;
using UnityEditorInternal;
namespace Syntriax.Modules.Movement.Editor
{
public class CreateMovementDefinitionEditor : EditorWindow
{
ReorderableList list;
[MenuItem("Syntriax/Modules/Create Movement Definition")]
private static void ShowWindow()
{
var window = GetWindow<CreateMovementDefinitionEditor>();
window.titleContent = new GUIContent("Create Movement Definition");
window.Show();
}
private void OnGUI()
{
GUILayout.Label("Definition Name");
string definitionName = GUILayout.TextField("Movement Definition");
GUILayout.Space(10);
bool createButtonPressed = GUILayout.Button("Create");
if (!createButtonPressed)
return;
string resourceDirectoryToDefinitions = Movement.Config.MovementDefinitionFactory.ResourceDirectoryToDefinitions;
string[] folders = resourceDirectoryToDefinitions.Split('/');
string currentPath = "Assets/Resources";
CreateSubFolder("Assets", "Resources");
foreach (string folder in folders)
{
CreateSubFolder(currentPath, folder);
currentPath += $"/{folder}";
}
currentPath += $"/{definitionName}.json";
Movement.Config.MovementDefinitionFactory.SaveMovementDefinition(new Config.MovementDefinition(definitionName, new Config.MovementConfig[0], new string[0]));
}
private static void CreateSubFolder(string parentFolder, string subFolder)
{
if (!AssetDatabase.IsValidFolder($"{parentFolder}/{subFolder}"))
AssetDatabase.CreateFolder(parentFolder, subFolder);
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 4e6c6eea597fd2d4e96946897f9a0bd6
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: