This is the interface to use to create an object that makes use of the Magic Time system. The Magic Time User is a MonoBehaviour that is ready to go with all the required methods and properties.
I would generally suggest you inherit your characters and other objects from MagicTimeUser, unless you're create a new custom class to use instead of MagicTimeUser.
publicinterfaceIHaveLocalTime{ /// The value of the local time scale specific to this MagicTimeUser.float LocalTimeScaleValue { get; set; } /// Returns the LocalTimeScale that is specific to this MagicTimeUser.publicLocalTimeScale LocalTimeScale { get; } /// Subscribes to a LocalTimeScale.voidSubscribeToLocalTimeScale(LocalTimeScale myTimeScale); /// Unsubscribes from a LocalTimeScale.voidUnsubscribeFromLocalTimeScale(LocalTimeScale timeScale); /// The list of currently subscribed LocalTimeScales.List<LocalTimeScale> SubscribedTimeScales { get; } /// DeltaTime adjusted by the combined LocalTimeScales.float DeltaTime { get; } /// UnscaledDeltaTime adjusted by the combined LocalTimeScales.float UnscaledDeltaTime { get; } /// FixedDeltaTime adjusted by the combined LocalTimeScales.float FixedDeltaTime { get; } /// Called when a subscribed LocalTimeScale is destroyed.voidOnTimeScaleDestroyed(LocalTimeScale timeScale); /// Used to subscribe to the initial time scales, often called from Awake();IEnumeratorSubscribeToInitialTimeScales(); /// Called when the TimeScale is changed.voidOnTimeScaleChanged(float value,LocalTimeScale localTimeScale); /// A reference to the GameObject that this MagicTimeUser is attached to.GameObject GameObject { get; }}