D4K77RTIZUI46DIDLVOR42DW3EP6IOMEAASAPZQ5XA2J7GEYFQIAC fileFormatVersion: 2guid: d1839c979b8eab84c8a7dc0b9c703552MonoImporter:externalObjects: {}serializedVersion: 2defaultReferences: []executionOrder: 0icon: {instanceID: 0}userData:assetBundleName:assetBundleVariant:
return _in.Nodes.Select(getter => getter.Get()).Aggregate((current, next) =>
if (!IsValid) {double defaultVal = 0;UnityEngine.Debug.Log($"{Guid} Inner types are null");return Data.Affected.Select(transform => defaultVal);}return _in.Nodes.Select(getter => getter.Get()).Concat(_const.Select(value => Data.Affected.Select(transform => value))).Aggregate((current, next) =>
public override string ShortName {get {var operatorName = Operator == null ? "*" : Operator.GetType().Name;
public override string ToString() {var operatorName = Operator == null ? "*" : Operator.GetType().Name;var constName = _const.Count == 0 ? "" : $"({string.Join(",", _const.Select(val => $"{val}[]"))})";
public override string ShortName {get {var resourceName = Resource.Type == null ? "*" : Resource.Type.Name;var statName = "Current";
public override string ToString() {var resourceName = Resource == null || Resource.Type == null ? "*" : Resource.Type.Name;var statName = "Current";
public override string ShortName {
public override string ToString() {var resourceName = Resource == null || Resource.Type == null ? "*" : Resource.Type.Name;var statName = "Current";return $"Pawn.Get.{resourceName}.{statName}";}public override bool IsValid {
var resourceName = Resource.Type == null ? "*" : Resource.Type.Name;var registerName = Register.Type == null ? "*" : Register.Type.Name;return new($"Context.Set.{resourceName}.{registerName}");
return Register != null && Register.Type != null && Resource != null && Resource.Type != null;
public override string ShortName {get {var resourceName = Resource.Type == null ? "*" : Resource.Type.Name;var registerName = Register.Type == null ? "*" : Register.Type.Name;
public override string ToString() {var resourceName = Resource == null || Resource.Type == null ? "*" : Resource.Type.Name;var registerName = Register == null || Register.Type == null ? "*" : Register.Type.Name;return $"Context.Get.{resourceName}.{registerName}";}
foreach (var type in TypeCache.GetTypesDerivedFrom(typeof(IGetterStep))) {e.menu.AppendAction($"Get/{type.Name}", action => AddNode(type, action.eventInfo.mousePosition));
List<Type> additional = new();foreach (var (type, stepType) in TypeCache.GetTypesDerivedFrom(typeof(EffectStepNode)).Where(type => type.IsAbstract == false).Select(type => (type, type.GetTypeInfo().GetCustomAttribute<StepTypeAttribute>()))) {if (stepType != null) {e.menu.AppendAction($"{stepType}/{type.Name}", action => AddNode(type, action.eventInfo.mousePosition));}else {additional.Add(type);}
foreach (var type in TypeCache.GetTypesDerivedFrom(typeof(IOperatorStep))) {e.menu.AppendAction($"Operator/{type.Name}", action => AddNode(type, action.eventInfo.mousePosition));
foreach (var type in additional) {e.menu.AppendAction($"{type.Name}", action => AddNode(type, action.eventInfo.mousePosition));
foreach (var type in TypeCache.GetTypesDerivedFrom(typeof(ISetterStep))) {e.menu.AppendAction($"Set/{type.Name}", action => AddNode(type, action.eventInfo.mousePosition));}e.menu.AppendAction("Root Node", action => AddNode(typeof(EffectEndNode), action.eventInfo.mousePosition));
switch (Node) {case IOperatorStep:AddToClassList("OperatorStep");break;case IGetterStep:AddToClassList("GetterStep");break;case ISetterStep:AddToClassList("SetterStep");break;default:break;
var stepType = Node.GetType().GetTypeInfo().GetCustomAttribute<StepTypeAttribute>();if (stepType != null) {AddToClassList($"{stepType.Name}Step");}if (!Node.IsValid) {AddToClassList(InvalidClassName);