private void OnGUI()
        {
            GUILayout.Label("Select a template", EditorStyles.boldLabel);
            EditorGUILayout.BeginScrollView(new Vector2(0, 0));
            var files = Directory.GetFiles(Path.Combine(EcsCore.GetPluginRootFolderPath(), "Templates"))
                        .Where(f => f.EndsWith(".asset")); // skip .meta files

            foreach (var file in files)
            {
                var filename = Path.GetFileNameWithoutExtension(file);
                GUILayout.BeginHorizontal();
                if (GUILayout.Button(filename))
                {
                    if (_window != null)
                    {
                        _window.Close();
                        _window = null;
                    }
                    EcsScriptTemplate.CreateScript(filename);
                }
                if (GUILayout.Button("X", GUILayout.Width(20)))
                {
                    if (EditorUtility.DisplayDialog("Delete warning", "Delete " + filename + " template?", "Yes", "No"))
                    {
                        AssetDatabase.DeleteAsset(file);
                    }
                }
                GUILayout.EndHorizontal();
            }
            EditorGUILayout.EndScrollView();
            GUILayout.FlexibleSpace();
            GUILayout.BeginHorizontal();
            if (GUILayout.Button("(+) New Template"))
            {
                EcsScriptTemplate.CreateNewDefaultTemplate();
            }
            GUILayout.EndHorizontal();
        }
Пример #2
0
 private static void CreateMonoBehaviour()
 {
     EcsScriptTemplate.CreateScript("MonoBehaviour");
 }
Пример #3
0
 private static void CreateConfig()
 {
     EcsScriptTemplate.CreateDefaultTemplates();
     EcsConfig.Create();
 }
Пример #4
0
 private static void CreateNewTemplate()
 {
     EcsScriptTemplate.CreateNewDefaultTemplate();
 }
Пример #5
0
 private static void CreateEnum()
 {
     EcsScriptTemplate.CreateScript("Enum");
 }
Пример #6
0
 private static void CreateStruct()
 {
     EcsScriptTemplate.CreateScript("Struct");
 }
Пример #7
0
 private static void CreateClass()
 {
     EcsScriptTemplate.CreateScript("Class");
 }
Пример #8
0
 public void LoadDependencies(EcsConfig config, EcsScriptTemplate template)
 {
     _config   = config;
     _template = template;
 }