-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
plugin file support. better constructor detection
- Loading branch information
Showing
7 changed files
with
204 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> | ||
<xs:element name="Plugin"> | ||
<xs:complexType> | ||
<xs:sequence> | ||
<xs:element name="Information"> | ||
<xs:complexType> | ||
<xs:sequence> | ||
<xs:element name="Name" type="xs:string"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
The name used to load the plugin with the "/plugins load PluginName" as well as how it will appear in game in the "/plugins list" and "/plugins refresh" commands. If you use a plugin manager (a plugin that controls loading other plugins) this is also the name that will be listed in the manager. | ||
</xs:documentation> | ||
</xs:annotation> | ||
</xs:element> | ||
<xs:element name="Author" type="xs:string"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
The name of the plugin author and is only included for documentary/organizational purposes. This has no actual impact on the functioning of the plugin but can be accessed programatially using the Plugins table. | ||
</xs:documentation> | ||
</xs:annotation> | ||
</xs:element> | ||
<xs:element name="Version" type="xs:string"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
The version that will be displayed in the "/plugins list", "/plugins refresh" and plugin manager lists. This value can also be used programatically for tagging saved data and automatically processing data updates. | ||
</xs:documentation> | ||
</xs:annotation> | ||
</xs:element> | ||
<xs:element minOccurs="0" name="Description" type="xs:string"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
The text that will display in the Turbine Plugin Manager to describe the plugin | ||
</xs:documentation> | ||
</xs:annotation> | ||
</xs:element> | ||
<xs:element minOccurs="0" name="Image" type="xs:string"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
The realtive path to a .JPG or .TGA file. Note, if the file is greater than 32x32 it will be cropped to 32x32. If the image is less than 32x32 it will be tiled. This image will be displayed in the Turbine Plugin Manager | ||
</xs:documentation> | ||
</xs:annotation> | ||
</xs:element> | ||
</xs:sequence> | ||
</xs:complexType> | ||
</xs:element> | ||
<xs:element name="Package" type="xs:string"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
The path relative to the Plugins folder to the main Lua code file. Note that the path uses "." as a folder separator instead of "\" or "/". This is the first file that will be loaded, parsed and processed. | ||
</xs:documentation> | ||
</xs:annotation> | ||
</xs:element> | ||
<xs:element minOccurs="0" name="Configuration"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
The Configuration setting is optional and will allow a plugin to run in its own Apartment or address space. | ||
</xs:documentation> | ||
</xs:annotation> | ||
<xs:complexType> | ||
<xs:attribute name="Apartment" type="xs:string" use="required"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> , | ||
Allows a plugin to be unloaded without affecting other plugins or to prevent other plugins from | ||
interfering with global values and event handlers. If your plugin does not need to be | ||
unloaded and if it uses safe event handlers (discussed later) then you probably do not | ||
need a separate apartment. Note that using a separate apartment will significantly increase | ||
the amount of memory used by the Lua system since multiple copies of the environment and | ||
global object must be created for each apartment. | ||
|
||
One important thing to remember, Plugins are not unloaded, Apartments are unloaded. | ||
That is, when you use the "/plugins unload ApartmentName" command you are unloading | ||
all of the plugins that share that apartment. | ||
</xs:documentation> | ||
</xs:annotation> | ||
</xs:attribute> | ||
</xs:complexType> | ||
</xs:element> | ||
</xs:sequence> | ||
</xs:complexType> | ||
</xs:element> | ||
</xs:schema> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> | ||
<xs:element name="PluginConfig"> | ||
<xs:complexType> | ||
<xs:sequence> | ||
<xs:element ref="Id"/> | ||
<xs:element ref="Name"/> | ||
<xs:element ref="Version"/> | ||
<xs:element ref="Author"/> | ||
<xs:element ref="InfoUrl"/> | ||
<xs:element ref="DownloadUrl"/> | ||
<xs:element ref="Descriptors"/> | ||
<xs:element ref="Dependencies"/> | ||
</xs:sequence> | ||
</xs:complexType> | ||
</xs:element> | ||
<xs:element name="Id" type="xs:int"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
The ID on lotrointerface.com for your plugin. This is the numeric portion in the URL that points to your plugin. | ||
For Example: https://www.lotrointerface.com/downloads/info640-Waypoint.html would be 640 | ||
</xs:documentation> | ||
</xs:annotation> | ||
</xs:element> | ||
<xs:element name="Name" type="xs:string"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
The name of the plugin. This should match the value in your .plugin file | ||
</xs:documentation> | ||
</xs:annotation> | ||
</xs:element> | ||
<xs:element name="Version" type="xs:string"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
The Version of the plugin. This should match the value in your .plugin file | ||
</xs:documentation> | ||
</xs:annotation> | ||
</xs:element> | ||
<xs:element name="Author" type="xs:string"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
The author of the plugin. This should match the value in your .plugin file | ||
</xs:documentation> | ||
</xs:annotation> | ||
</xs:element> | ||
<xs:element name="InfoUrl" type="xs:anyURI"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
The url to view information about the plugin on lotrointerface.com | ||
For Example: https://www.lotrointerface.com/downloads/info640-Waypoint.html | ||
</xs:documentation> | ||
</xs:annotation> | ||
</xs:element> | ||
<xs:element name="DownloadUrl" type="xs:anyURI"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
The url to download the plugin on lotrointerface.com | ||
For Example: https://www.lotrointerface.com/downloads/download640-Waypoint | ||
</xs:documentation> | ||
</xs:annotation> | ||
</xs:element> | ||
<xs:element name="Descriptors"> | ||
<xs:complexType> | ||
<xs:sequence> | ||
<xs:element maxOccurs="unbounded" ref="descriptor"/> | ||
</xs:sequence> | ||
</xs:complexType> | ||
</xs:element> | ||
<xs:element name="descriptor" type="xs:string"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
The path relative to the .plugincompendium file to a .plugin file that is to be installed | ||
Use backslash "\\" for path separators | ||
</xs:documentation> | ||
</xs:annotation> | ||
</xs:element> | ||
<xs:element name="Dependencies"> | ||
<xs:complexType> | ||
<xs:sequence> | ||
<xs:element maxOccurs="unbounded" ref="dependency"/> | ||
</xs:sequence> | ||
</xs:complexType> | ||
</xs:element> | ||
<xs:element name="dependency" type="xs:int"> | ||
<xs:annotation> | ||
<xs:documentation xml:lang="en"> | ||
The ID from lotrointerface.com of another plugin that is needed as a dependency for this plugin to operate. | ||
</xs:documentation> | ||
</xs:annotation> | ||
</xs:element> | ||
</xs:schema> |