脚本代码简单生成
using System.IO;
using UnityEditor;
using UnityEngine;
public class GenerateCode : EditorWindow
{
private static string frontPath;
private static string behindPath = "";
[MenuItem("Tools/简单生成")]
public static void AddGenerate()
{
frontPath = Application.dataPath + "/Scripts/";
var win = EditorWindow.GetWindow(typeof(GenerateCode), true, "简单生成");
win.Show();
}
private void OnGUI()
{
GUILayout.Space(5);
GUILayout.Label("路径=" + frontPath);
GUILayout.Space(5);
behindPath = GUILayout.TextField(behindPath);
GUILayout.Space(5);
if (GUILayout.Button("生成"))
{
Debug.Log(frontPath + behindPath);
FileStream fs = new FileStream(frontPath + behindPath, FileMode.CreateNew);
FileInfo fInfo = new FileInfo(frontPath + behindPath);
string scriptName = fInfo.Name.Replace(".cs", "");
string nonController = scriptName.Replace("Controller", "");
StreamWriter sw = new StreamWriter(fs);
code = code.Replace("<AView>","<"+nonController+">" );
code = code.Replace("AViewController", scriptName);
sw.Write(code);
sw.Flush();
AssetDatabase.Refresh();
}
}
private static string code = @"using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class AViewController : MonoViewController<AView>
{
private void OnGUI()
{
}
private void OnClick()
{
}
}";
}