-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSampleWindow.cs
More file actions
87 lines (74 loc) · 2.81 KB
/
SampleWindow.cs
File metadata and controls
87 lines (74 loc) · 2.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
using System;
using System.Threading;
using UnityEngine;
using UnityEditor;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using TemplateEngine;
using PAG.Accessor;
using PAG.Generator;
using UnityTableViewer.Viewer;
using UnityTableViewer.Provider;
public class SampleWindow : EditorWindow {
private Boolean flag = false;
[MenuItem ("Window/Sample Window %g")]
static void Init () {
SampleWindow window = (SampleWindow)EditorWindow.GetWindow (typeof (SampleWindow));
}
void OnGUI () {
if(GUILayout.Button("Generate AccessorManager")) {
IList<string> prefabNames = new List<string>();
DirectoryInfo info = new DirectoryInfo("Assets/SourcePrefab/");
foreach(FileInfo f in info.GetFiles()) {
prefabNames.Add (f.Name.Split('.')[0]);
}
//UnityEngine.Object[] objects = AssetDatabase.LoadAllAssetsAtPath("Assets/SourcePrefab/");
//UnityEngine.Object obj = AssetDatabase.LoadAssetAtPath("Assets/SourcePrefab/Cube", typeof(GameObject));
//Debug.Log (obj.name);
//IList<UnityEngine.Object> prefabs = new List<UnityEngine.Object>(objects);
ICodeGenerator generator = new AccessorManagerGenerator("Sample", prefabNames);
generator.execute();
}
if(GUILayout.Button ("Generate DataAccessor")) {
string prefabFolder = "Assets/SourcePrefab/";
IDictionary<string, string> variables = new Dictionary<string, string>();
variables["sample1"] = "int";
variables["sample2"] = "string";
variables["sample3"] = "float";
DirectoryInfo info = new DirectoryInfo("Assets/SourcePrefab/");
foreach(FileInfo f in info.GetFiles()) {
string name = f.Name.Split('.')[0];
DataAccessorGenerator generator = new DataAccessorGenerator("Test.Generate", name, variables);
generator.execute();
}
}
if(GUILayout.Button ("Generate DataScript")) {
IDictionary<string, string> variables = new Dictionary<string, string>();
variables["sample1"] = "int";
variables["sample2"] = "string";
variables["sample3"] = "float";
DataScriptGenerator generator = new DataScriptGenerator("TestClass", "", variables);
generator.execute();
}
if(GUILayout.Button("Click")){
AssetDatabase.ImportAsset("Assets/GenerateClassName.cs");
AssetDatabase.Refresh();
flag = true;
}
string aaa = GUILayout.TextField("TEXT");
Debug.Log (aaa);
GUILayout.Label("Label");
}
void Update() {
if(!EditorApplication.isCompiling && flag) {
GameObject gameObject = new GameObject();
Component comp = gameObject.AddComponent("GenerateClassName");
// gameObject.GetComponent<GenerateClassName>
// gameObject.test = 0;
UnityEngine.Object prefab = EditorUtility.CreateEmptyPrefab("Assets/MyObject.prefab");
EditorUtility.ReplacePrefab(gameObject, prefab, ReplacePrefabOptions.ConnectToPrefab);
flag = false;
}
}
}