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 { /// /// This method would be called from background thread, call to dispatch it to main thread. /// public abstract void OnStart(); /// /// This method would be called from background thread when the client disconnected from the server, you MUST terminate all background jobs/threads in this method. /// public abstract void OnStop(); /// /// 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 Core.Logger Logger { get { return CurrentResource.Logger; } } } }