Example #1
0
        private void OnEnable()
        {
            var asset = AssetDatabase.LoadAssetAtPath <VisualTreeAsset>(UXMLPath);

            // まずはこれを呼び出すことでrootVisualElementとUXMLを結びつける
            asset.CloneTree(this.rootVisualElement);

            var rootElement = rootVisualElement;

            // このクラスのSerializeFieldとVisualElementをバインドする
            rootElement.Bind(new SerializedObject(this));

            // テンプレート名
            rootElement.Q <Label>("TemplateScriptNameValue").text = _templateScriptName;

            // 作成日
            var createdDataLabel = rootElement.Q <Label>("CreatedDataValue");

            createdDataLabel.text = _createdData;

            // 作成者
            var authorNameLabel = rootElement.Q <Label>("AuthorNameValue");

            authorNameLabel.text = _authorName;

            // 各種パラメータ
            var param1ViewElement = rootElement.Q <VisualElement>("Param1VisualElement");

            param1ViewElement.SetEnabled(UseParam1);

            if (UseParam1)
            {
                // Param1を表示状態にする
                var param1 = rootElement.Q <TextField>("Param1");
                param1.label = Param1Title;
            }

            // 作成ボタン
            var createButton = rootElement.Q <Button>("CreateButton");

            createButton.clickable.clicked += () =>
            {
                var param = new Creator.Param();
                param.scriptName         = _newScriptName;
                param.templateScriptName = _templateScriptName;
                param.createdData        = _createdData;
                param.authorName         = _authorName;
                param.summary            = _scriptSummary;
                param.param1             = _param1;

                if (Creator.CreateScript(param))
                {
                    this.Close();
                }
            };
        }
Example #2
0
        /// <summary>
        /// 表示Window
        /// </summary>
        private void OnGUI()
        {
            // old
#if false
            // 作成日と元テンプレートを表示
            EditorGUILayout.LabelField("Template Script Name : " + _templateScriptName);
            GUILayout.Space(0);
            EditorGUILayout.LabelField("Created Data : " + _createdData);
            GUILayout.Space(10);

            // 新しく作成するスクリプト及びクラス名の入力欄
            GUILayout.Label("New Script Name");
            _newScriptName = GUILayout.TextField(_newScriptName);
            GUILayout.Space(10);

            // スクリプトの説明文
            GUILayout.Label("Script Summary");
            _scriptSummary = GUILayout.TextArea(_scriptSummary);
            GUILayout.Space(10);

            // 作者名の入力欄
            GUILayout.Label("Author Name");
            _authorName = GUILayout.TextField(_authorName);
            GUILayout.Space(30);

            // 汎用的なパラメータ
            GUILayout.Label("Param 1");
            _param1 = GUILayout.TextField(_param1);
            GUILayout.Space(30);

            // 作成ボタン、作成が成功したらウィンドウを閉じる
            if (GUILayout.Button("Create"))
            {
                var param = new Creator.Param();
                param.scriptName         = _newScriptName;
                param.templateScriptName = _templateScriptName;
                param.createdData        = _createdData;
                param.authorName         = _authorName;
                param.summary            = _scriptSummary;
                param.param1             = _param1;

                if (Creator.CreateScript(param))
                {
                    this.Close();
                }
            }
#endif
        }