示例#1
0
    //Create the node in the grid.
    private void AddNode()
    {
        UMLNode temp = addingScriptOverlay.CreateNode();

        //adding the node to collection
        nodes.Add(nodes.Count, temp);
        //whipe variables on the screen
        addingScriptOverlay.ClearVariables();

        //toggle menu
        addingScriptOverlay.ClearVariableToggle = !addingScriptOverlay.ClearVariableToggle;
    }
    /// <summary>
    /// Use for editing values
    /// </summary>
    public void EditInformation(UMLNode umlNode, Vector2 screenDimensions)
    {
        umlNode.ClassName = className;

        for (int i = 0; i < umlNode.Functions.Count; i++)
        {
            information.Functions.Add(umlNode.Functions[i]);
        }
        for (int i = 0; i < umlNode.Variables.Count; i++)
        {
            information.Variables.Add(umlNode.Variables[i]);
        }
        initializeClass = true;

        OnGUI(screenDimensions);
    }
示例#3
0
    /// <summary>
    /// Generating the Script
    /// </summary>
    public void GenerateNode(UMLNode node)
    {
        Debug.Log(node.Functions.Count);
        string directoryPath = Environment.CurrentDirectory;

        using (StreamWriter sw = new StreamWriter(Path.Combine(directoryPath + "/Assets", node.ClassName + ".cs")))
        {
            //adding library's
            sw.WriteLine("using UnityEngine;");
            sw.WriteLine("using System.Collections;");
            sw.WriteLine("using System.Collections.Generic;");

            sw.WriteLine(""); //white space

            if (node.Parent != string.Empty)
            {
                sw.WriteLine("public class " + node.ClassName + " : " + node.Parent);
            }
            else
            {
                sw.WriteLine("public class" + node.ClassName);
            }

            sw.WriteLine("{");
            //adding variables
            foreach (string variable in node.Variables)
            {
                sw.WriteLine(variable + ";");
            }
            sw.WriteLine(""); //whitespace
            //adding functions
            foreach (string function in node.Functions)
            {
                if (function.EndsWith("()"))
                {
                    sw.WriteLine(function + "{ }");
                }
                else
                {
                    sw.WriteLine(function + "() { }");
                }
            }
            sw.WriteLine("}");
        }

        AssetDatabase.Refresh(ImportAssetOptions.ForceUpdate);
    }