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(); } }; }
/// <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 }