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

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

79 lines
2.3 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;
using System.Collections.Generic;
namespace Fungus.EditorUtils
{
[CustomEditor (typeof(Label))]
public class LabelEditor : CommandEditor
{
protected SerializedProperty keyProp;
public static void LabelField(SerializedProperty property,
GUIContent labelText,
Block block)
{
List<string> labelKeys = new List<string>();
List<Label> labelObjects = new List<Label>();
labelKeys.Add("<None>");
labelObjects.Add(null);
Label selectedLabel = property.objectReferenceValue as Label;
int index = 0;
int selectedIndex = 0;
var commandList = block.CommandList;
foreach (var command in commandList)
{
Label label = command as Label;
if (label == null)
{
continue;
}
labelKeys.Add(label.Key);
labelObjects.Add(label);
index++;
if (label == selectedLabel)
{
selectedIndex = index;
}
}
selectedIndex = EditorGUILayout.Popup(labelText.text, selectedIndex, labelKeys.ToArray());
property.objectReferenceValue = labelObjects[selectedIndex];
}
public override void OnEnable()
{
base.OnEnable();
keyProp = serializedObject.FindProperty("key");
}
public override void DrawCommandGUI()
{
Label t = target as Label;
var flowchart = (Flowchart)t.GetFlowchart();
if (flowchart == null)
{
return;
}
serializedObject.Update();
EditorGUILayout.PropertyField(keyProp);
keyProp.stringValue = flowchart.GetUniqueLabelKey(keyProp.stringValue, t);
serializedObject.ApplyModifiedProperties();
}
}
}