/// <summary> /// Called when the state is being activated. /// </summary> /// <param name="data">State data to receive.</param> public void Activate(StateSwitchData data) { if(this.hasBeenActivated == false) { this.BeforeFirstActivation(data); this.hasBeenActivated = true; } this.Activated(data); }
/// <summary> /// Call when the state is being activated. /// </summary> /// <param name="data">State data to receive.</param> public void Deactivate(StateSwitchData data) { this.Deactivated(data); }
/// <summary> /// Call when the state is being deactivated. /// </summary> /// <param name="data">State data which will be sent.</param> protected virtual void Deactivated(StateSwitchData data) { }
/// <summary> /// Called before the state is activated for the first time. /// </summary> /// <param name="data">State data to receive.</param> protected virtual void BeforeFirstActivation(StateSwitchData data) { }