NEW:
- Added a Disinclude extension method in Vexe.RuntimeExtensions. Returns a new version of the current list disincluding a specified value.
- FSM: Something I should have done earlier, added a TransitionHasBeenMade method that takes a transition and sets the current state of the FSM to that transition's 'toState' (the state that the transition transits to) - When a transition is created from the FSM editor, TransitionHasBeenMade will subscribe to the transition's OnTransition so that when a transition is made, the FSM gets notified undirectly. (another example of how delegates solve circular dep)
MODS:
- FSMEditor: Removed the current iterated state from showing up in the selection window when selecting to the 'toState' (doesn't make sense to transit to the state you belong to...)
NEW:
- Added an AssertionHelper in Vexe.RuntimeHelpers with the following:
--- AssertNotNull(object obj, string msg)
--- AssertArgumentNotNull(object arg, string msg)
--- AssertInBounds<T>(IList<T> list, int index, string msg)
NEW: Added the following methods in FSM:
- CreateNewState(string stateName)
- CreateNewTransition(string transitionName, FSMState from)
- RemoveState(int atIndex)
- RemoveState(FSMState state)
- RemoveTransition(FSMState from, int atIndex)
- RemoveTransition(FSMState from, FSMTransition transition)

MOD: Updated the FSMEditor to use the added methods instead of doing all these things itself in an in-line fashion.