Roman 787b285227 任务:新建项目 导入必要的插件
1.导入URP
2.配置了URP
3.导入Dotween
4.导入Odin
5.导入了InputSystem
6.设置项目为新旧输入系统并用
7.导入了FunGus
8.创建了一些空文件夹

我是每日提醒上班小助手,今天你上班了吗?😺
2022-03-10 22:49:14 +08:00

75 lines
3.0 KiB
C#

// This code is part of the Fungus library (https://github.com/snozbot/fungus)
// It is released for free under the MIT open source license (https://github.com/snozbot/fungus/blob/master/LICENSE)
using UnityEditor;
using UnityEngine;
namespace Fungus.EditorUtils
{
[CustomEditor (typeof(Menu))]
public class MenuEditor : CommandEditor
{
protected SerializedProperty textProp;
protected SerializedProperty descriptionProp;
protected SerializedProperty targetBlockProp;
protected SerializedProperty hideIfVisitedProp;
protected SerializedProperty interactableProp;
protected SerializedProperty setMenuDialogProp;
protected SerializedProperty hideThisOptionProp;
public override void OnEnable()
{
base.OnEnable();
textProp = serializedObject.FindProperty("text");
descriptionProp = serializedObject.FindProperty("description");
targetBlockProp = serializedObject.FindProperty("targetBlock");
hideIfVisitedProp = serializedObject.FindProperty("hideIfVisited");
interactableProp = serializedObject.FindProperty("interactable");
setMenuDialogProp = serializedObject.FindProperty("setMenuDialog");
hideThisOptionProp = serializedObject.FindProperty("hideThisOption");
}
public override void DrawCommandGUI()
{
var flowchart = FlowchartWindow.GetFlowchart();
if (flowchart == null)
{
return;
}
serializedObject.Update();
EditorGUILayout.PropertyField(textProp);
EditorGUILayout.PropertyField(descriptionProp);
EditorGUILayout.BeginHorizontal();
BlockEditor.BlockField(targetBlockProp,
new GUIContent("Target Block", "Block to call when option is selected"),
new GUIContent("<None>"),
flowchart);
const int popupWidth = 17;
if(targetBlockProp.objectReferenceValue == null && GUILayout.Button("+",GUILayout.MaxWidth(popupWidth)))
{
var fw = EditorWindow.GetWindow<FlowchartWindow>();
var t = (Menu)target;
var activeFlowchart = t.GetFlowchart();
var newBlock = fw.CreateBlockSuppressSelect(activeFlowchart, t.ParentBlock._NodeRect.position - Vector2.down * 60);
targetBlockProp.objectReferenceValue = newBlock;
activeFlowchart.SelectedBlock = t.ParentBlock;
}
EditorGUILayout.EndHorizontal();
EditorGUILayout.PropertyField(hideIfVisitedProp);
EditorGUILayout.PropertyField(interactableProp);
EditorGUILayout.PropertyField(setMenuDialogProp);
EditorGUILayout.PropertyField(hideThisOptionProp);
serializedObject.ApplyModifiedProperties();
}
}
}