/// <summary> /// This will call the override method of "MakeTransition". /// It can call it for any child of SkillState, but can never be called on SkillState because this is an abstract class. /// </summary> /// <param name="state">This is the state to which we wish to transition this skill. It must be a child class of SkillState, /// with actual implementations of the base class' abstract values. </param> public void SetState(SkillState state) { SkillState.MakeTransition(state); }