public override void Reset() { Filter = null; VariableType = FsmVariableType.All; SaveNow = true; base.Reset(); }
public override void Reset() { Filter = null; VariableType = FsmVariableType.All; DataNotFoundEvent = null; LoadNow = true; base.Reset(); }
// Perform an action with a batch of FSM variables protected bool DoBatchVariableAction(FsmVariables fsmVariables, VariableAction variableAction, string filter, FsmVariableType fsmVariableType) { // Check data if (fsmVariables == null) { throw new ArgumentNullException("fsmVariables", "Cannot do action with null FSM variable batch: " + variableAction); } NamedVariable[] fsmVariableSubset; switch (fsmVariableType) { case FsmVariableType.All: fsmVariableSubset = fsmVariables.GetAllNamedVariables(); break; case FsmVariableType.Bool: fsmVariableSubset = fsmVariables.BoolVariables; break; case FsmVariableType.Color: fsmVariableSubset = fsmVariables.ColorVariables; break; case FsmVariableType.Float: fsmVariableSubset = fsmVariables.FloatVariables; break; case FsmVariableType.GameObject: fsmVariableSubset = fsmVariables.GameObjectVariables; break; case FsmVariableType.Int: fsmVariableSubset = fsmVariables.IntVariables; break; case FsmVariableType.Quaternion: fsmVariableSubset = fsmVariables.QuaternionVariables; break; case FsmVariableType.Rect: fsmVariableSubset = fsmVariables.RectVariables; break; case FsmVariableType.String: fsmVariableSubset = fsmVariables.StringVariables; break; case FsmVariableType.Vector2: fsmVariableSubset = fsmVariables.Vector2Variables; break; case FsmVariableType.Vector3: fsmVariableSubset = fsmVariables.Vector3Variables; break; case FsmVariableType.Array: fsmVariableSubset = fsmVariables.ArrayVariables; break; case FsmVariableType.Enum: fsmVariableSubset = fsmVariables.EnumVariables; break; default: throw new NotSupportedException("Invalid FSM variable type: " + fsmVariableType); } // Process each FSM variable var allComplete = true; foreach (var currentVariable in fsmVariableSubset) { if (MatchFilter(currentVariable.Name, filter) && IsValidFsmVariableType(currentVariable)) { if (!DoVariableAction(variableAction, currentVariable, null)) { allComplete = false; } } } return(allComplete); }