示例#1
0
    private void DrawSettingGui(string displayName, string settingName)
    {
        GUILayout.BeginHorizontal();
        try {
            GUILayout.Label(displayName + ":");
            GUILayout.FlexibleSpace();

            string settingValue = EditorUserSettings.GetSetting(settingName);
            string guiResult    = GUILayout.TextField(settingValue, GUILayout.Width(128.0f));
            if (guiResult != settingValue)
            {
                EditorUserSettings.SetSetting(settingName, guiResult);
            }
        } finally {
            GUILayout.EndHorizontal();
        }
    }
示例#2
0
    public static void Import(FileInfo scriptFile)
    {
        if (scriptFile.Name != "NewBehaviourScript.cs")
        {
            throw new ArgumentException("Import needs a path to a NewBehaviorScript.cs file", "scriptFilePath");
        }
        string[] scriptLines = File.ReadAllLines(scriptFile.FullName);
        scriptFile.Delete();

        string newScriptFilename = EditorUtility.SaveFilePanel("Enter Script Name", scriptFile.DirectoryName, "NewScript", "cs");

        if (String.IsNullOrEmpty(newScriptFilename))
        {
            return;
        }

        FileInfo scriptFileInfo = new FileInfo(newScriptFilename);
        string   className      = scriptFileInfo.Name.Substring(0, scriptFileInfo.Name.Length - ".cs".Length);
        string   author         = EditorUserSettings.GetSetting("UserName");

        if (author == String.Empty)
        {
            author = "UserNameEmpty";
            EditorUserSettings.SetSetting("UserName", author);
            EditorUserSettings.SaveToDisk();
        }
        string date = DateTime.Now.ToShortDateString();

        StringBuilder processedScript = new StringBuilder();

        foreach (string line in scriptLines)
        {
            string newLine;
            newLine = line.Replace(mAuthorKey, author);
            newLine = newLine.Replace(mDateKey, date);
            newLine = newLine.Replace(mClassNameKey, className);
            newLine = newLine.Replace(mFileNameKey, scriptFileInfo.Name);

            processedScript.AppendLine(newLine);
        }

        File.WriteAllText(scriptFileInfo.FullName, processedScript.ToString());

        System.Threading.Thread.Sleep(100);         // Give textmate some time to notice if the file's in a project
        System.Diagnostics.Process.Start("open", scriptFileInfo.FullName);
    }