这是第一个 Unity 开放项目的repo,是 Unity 和社区合作创建的一个小型开源游戏演示,第一款游戏是一款名为 Chop Chop 的动作冒险游戏。
您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 

47 行
1.5 KiB

using UnityEditor;
namespace UOP1.StateMachine.Editor
{
internal readonly struct SerializedTransition
{
internal readonly SerializedProperty Transition;
internal readonly SerializedProperty FromState;
internal readonly SerializedProperty ToState;
internal readonly SerializedProperty Conditions;
internal readonly int Index;
internal SerializedTransition(SerializedProperty transition)
{
Transition = transition;
FromState = Transition.FindPropertyRelative("FromState");
ToState = Transition.FindPropertyRelative("ToState");
Conditions = Transition.FindPropertyRelative("Conditions");
Index = -1;
}
internal SerializedTransition(SerializedObject transitionTable, int index)
{
Transition = transitionTable.FindProperty("_transitions").GetArrayElementAtIndex(index);
FromState = Transition.FindPropertyRelative("FromState");
ToState = Transition.FindPropertyRelative("ToState");
Conditions = Transition.FindPropertyRelative("Conditions");
Index = index;
}
internal SerializedTransition(SerializedProperty transition, int index)
{
Transition = transition.GetArrayElementAtIndex(index);
FromState = Transition.FindPropertyRelative("FromState");
ToState = Transition.FindPropertyRelative("ToState");
Conditions = Transition.FindPropertyRelative("Conditions");
Index = index;
}
internal void ClearProperties()
{
FromState.objectReferenceValue = null;
ToState.objectReferenceValue = null;
Conditions.ClearArray();
}
}
}