using GTA; using RageCoop.Core; using RageCoop.Core.Scripting; namespace RageCoop.Client.Scripting { /// /// Inherit from this class, constructor will be called automatically, but other scripts might have yet been loaded, /// you should use . to initiate your script. /// public abstract class ClientScript : Script { /// /// Get the instance where this script is loaded from. /// public ResourceFile CurrentFile { get; internal set; } /// /// Get the that this script belongs to. /// public ClientResource CurrentResource { get; internal set; } /// /// Eqivalent of in /// public Logger Logger => CurrentResource.Logger; /// /// This method would be called from main thread, right after all script constructors are invoked. /// public abstract void OnStart(); /// /// This method would be called from main thread right before the whole is unloded but /// prior to . /// public abstract void OnStop(); } }