void DrawActionList(AbilityEventData abilityEvent) { var eventActions = abilityEvent.Actions; GUILayout.BeginHorizontal(); abilityEvent.showActionsInEditor = EditorGUILayout.Foldout(abilityEvent.showActionsInEditor, "Actions", _foldout); if (GUILayout.Button("+", GUILayout.Width(20))) { eventActions.Add(new AbilityActionData()); } GUILayout.Space(310); // hack! GUILayout.EndHorizontal(); if (abilityEvent.showActionsInEditor) { for (int i = 0; i < eventActions.Count; i++) { GUILayout.BeginHorizontal(); eventActions[i].showInEditor = EditorGUILayout.Foldout(eventActions[i].showInEditor, eventActions[i].Type.ToString()); if (GUILayout.Button("-", GUILayout.Width(20))) { eventActions[i].tobeRemoved = true; } GUILayout.EndHorizontal(); AbilityActionData action = eventActions[i]; DrawAction(action); } eventActions.RemoveAll((a) => a.tobeRemoved); } }
public Move(AbilityActionData data) : base(data) { var updateRotationField = this.data.BoolFields.Find((a) => a.Name == "updateRotation"); if (updateRotationField != null) { updateRotation = updateRotationField.Value; } var speedMultiplierField = this.data.FloatFields.Find((a) => a.Name == "speedMultiplier"); if (speedMultiplierField != null) { speedMultiplier = speedMultiplierField.Value; } var forceCompletionField = this.data.BoolFields.Find((a) => a.Name == "forceCompletion"); if (forceCompletionField != null) { forceCompletion = forceCompletionField.Value; } var overrideMovementField = this.data.BoolFields.Find((a) => a.Name == "overrideMovement"); if (overrideMovementField != null) { overrideMovement = overrideMovementField.Value; } }
public PlayEffect(AbilityActionData data) : base(data) { var originField = this.data.StrFields.Find((a) => a.Name == "origin"); if (originField != null) { origin = originField.Value; } }
void DrawAction(AbilityActionData eventAction) { if (eventAction.showInEditor) { eventAction.Type = (AbilityActionData.Action)EditorGUILayout.EnumPopup(new GUIContent("Type", eventAction.Type.ToDescription()), eventAction.Type); eventAction.Target = (DataDrivenAbility.Target)EditorGUILayout.EnumPopup("Target", eventAction.Target); eventAction.MultipleTargets = EditorGUILayout.Toggle("Multiple Targets", eventAction.MultipleTargets); DrawCustomAttributes(eventAction); } }
private void DrawCustomAttributes(AbilityActionData actionData) { actionData.showCustomAttributes = EditorGUILayout.Foldout(actionData.showCustomAttributes, "Custom Attributes"); if (actionData.showCustomAttributes) { DrawIntFieldList(actionData.IntFields); DrawFloatField(actionData.FloatFields); DrawVec3Field(actionData.Vec3Fields); DrawVec2Field(actionData.Vec2Fields); DrawStrField(actionData.StrFields); DrawBoolField(actionData.BoolFields); } }
public Knockback(AbilityActionData data) : base(data) { var forceField = this.data.IntFields.Find((a) => a.Name == "force"); if (forceField != null) { force = forceField.Value; } var originField = this.data.StrFields.Find((a) => a.Name == "origin"); if (originField != null) { origin = originField.Value; } }
public BaseAction(AbilityActionData data) { this.data = data; var effectPathData = this.data.StrFields.Find((a) => a.Name == "effectPath"); if (effectPathData != null) { effectPath = effectPathData.Value; } var sfxPathData = this.data.StrFields.Find((a) => a.Name == "sfxPath"); if (sfxPathData != null) { sfxPath = sfxPathData.Value; } }
public Blink(AbilityActionData data) : base(data) { }
public Stun(AbilityActionData data) : base(data) { duration = data.FloatFields.Find((a) => a.Name == "duration").Value; }
public PlaySound(AbilityActionData data) : base(data) { }
public Heal(AbilityActionData data) : base(data) { amount = this.data.IntFields.Find((a) => a.Name == "amount").Value; }
public AttachEffect(AbilityActionData data) : base(data) { }
public LinearProjectile(AbilityActionData data) : base(data) { speed = this.data.IntFields.Find((a) => a.Name == "speed").Value; }