Editor First Commit
This commit is contained in:
51
Editor/CreateMovementDefinitionEditor.cs
Normal file
51
Editor/CreateMovementDefinitionEditor.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
11
Editor/CreateMovementDefinitionEditor.cs.meta
Normal file
11
Editor/CreateMovementDefinitionEditor.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4e6c6eea597fd2d4e96946897f9a0bd6
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Reference in New Issue
Block a user