Plugins

From UBot Studio
(Difference between revisions)
Jump to: navigation, search
(Replaced content with "== Using Plugins == == Building Plugins ==")
Line 2: Line 2:
  
 
== Building Plugins ==
 
== Building Plugins ==
 
== Plugin Interfaces ==
 
 
=== IUBotCommand ===
 
 
<syntaxhighlight lang="csharp">
 
public interface IUBotCommand
 
{
 
    string CommandName { get; }
 
    string Category { get; }
 
    IEnumerable<UBotParameterDefinition> ParameterDefinitions { get; }
 
    void Execute(IUBotStudio ubotStudio, Dictionary<string, string> parameters);
 
    bool IsContainer { get; }
 
}
 
</syntaxhighlight>
 
 
=== IUBotFunction ===
 
 
<syntaxhighlight lang="csharp">
 
public interface IUBotFunction
 
{
 
    string FunctionName { get; }
 
    object ReturnValue { get; }
 
    UBotType ReturnValueType { get; }
 
    string Category { get; }
 
    IEnumerable<UBotParameterDefinition> ParameterDefinitions { get; }
 
    void Execute(IUBotStudio ubotStudio, Dictionary<string, string> parameters);
 
}
 
</syntaxhighlight>
 
 
=== IUBotStudio ===
 
 
<syntaxhighlight lang="csharp">
 
public interface IUBotStudio
 
{
 
    void RunScript(string script);
 
    void ChangeUserInterface(string name);
 
    IUBotCommand ContainerParent { get; set; }
 
    void RunContainerCommands();
 
    void SetVariable(string variableName, string value);
 
    void SetList(string listName, List<string> value);
 
    void SetTable(string tableName, string[,] value);
 
    string GetVariable(string variableName);
 
    List<string> GetList(string listName);
 
    string[,] GetTable(string tableName);
 
}
 
</syntaxhighlight>
 
 
=== IEventEnabled ===
 
 
<syntaxhighlight lang="csharp">
 
public interface IEventEnabled
 
{
 
    void StartEventListener();
 
    void StopEventListener();
 
}
 
</syntaxhighlight>
 
 
=== IWizardEnabled ===
 
 
<syntaxhighlight lang="csharp">
 
public interface IWizardEnabled
 
{
 
    IWizard GenerateWizard();
 
}
 
</syntaxhighlight>
 
 
=== IWizard ===
 
 
<syntaxhighlight lang="csharp">
 
public interface IWizard
 
{
 
    Window WizardWindow { get; }
 
    Dictionary<string, string> WizardValues { get; }
 
}
 
</syntaxhighlight>
 
 
=== UBotParameterDefinition ===
 
 
<syntaxhighlight lang="csharp">
 
public class UBotParameterDefinition
 
{
 
    public string Name { get; private set; }
 
    public UBotType Type { get; private set; }
 
    public IEnumerable<string> Options { get; set; }
 
    public object DefaultValue { get; set; }
 
 
    public UBotParameterDefinition(string name, UBotType type)
 
    {
 
        Name = name;
 
        Type = type;
 
    }
 
}
 
</syntaxhighlight>
 
 
=== UBotType ===
 
 
<syntaxhighlight lang="csharp">
 
public enum UBotType
 
{
 
    String,
 
    UBotVariable,
 
    UBotList,
 
    UBotTable
 
}
 
</syntaxhighlight>
 
 
== Plugin Examples ==
 
 
=== Simple Commands and Functions ===
 

Revision as of 16:31, 15 October 2012

Using Plugins

Building Plugins

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox