-
-
Notifications
You must be signed in to change notification settings - Fork 16
Expand file tree
/
Copy pathICompiledBotbase.cs
More file actions
91 lines (77 loc) · 3.03 KB
/
Copy pathICompiledBotbase.cs
File metadata and controls
91 lines (77 loc) · 3.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
using System;
using ff14bot.Behavior;
using TreeSharp;
namespace LlamaLibrary
{
/// <summary>
/// Defines the basic contract for a botbase compiled and loaded by LlamaLibrary.
/// </summary>
public interface ICompiledBotbase
{
/// <summary>
/// Gets the display name of the botbase as shown in the RebornBuddy bot selection dropdown.
/// </summary>
string Name { get; }
/// <summary>
/// Gets the pulse flags that define which RebornBuddy engine features (e.g., targeting, movement)
/// are active while this botbase is running.
/// </summary>
PulseFlags PulseFlags { get; }
/// <summary>
/// Gets a value indicating whether this botbase requires a profile (e.g., an XML quest profile) to function.
/// </summary>
bool RequiresProfile { get; }
/// <summary>
/// Gets a value indicating whether this botbase provides a configuration or settings button in the RebornBuddy UI.
/// </summary>
bool WantButton { get; }
/// <summary>
/// Gets a value indicating whether the botbase is autonomous, meaning it manages its own navigation and task logic.
/// </summary>
bool IsAutonomous { get; }
/// <summary>
/// Returns the <see cref="Composite"/> logic tree that RebornBuddy will execute while the bot is running.
/// </summary>
/// <returns>A TreeSharp composite representing the bot's behavior.</returns>
Composite GetRoot();
/// <summary>
/// Called by RebornBuddy when the user starts the bot.
/// </summary>
void Start();
/// <summary>
/// Called by RebornBuddy when the user stops the bot.
/// </summary>
void Stop();
/// <summary>
/// Called when the user clicks the botbase's button in the RebornBuddy UI.
/// Only invoked if <see cref="WantButton"/> is <see langword="true"/>.
/// </summary>
void OnButtonPress();
/// <summary>
/// Called when the botbase is first loaded or initialized by the assembly loader.
/// </summary>
void Initialize();
}
/// <summary>
/// An extended version of <see cref="ICompiledBotbase"/> that includes additional lifecycle methods and metadata.
/// </summary>
public interface ICompiledBotbaseFull : ICompiledBotbase, IDisposable
{
/// <summary>
/// Gets the version string of the botbase.
/// </summary>
string Version { get; }
/// <summary>
/// Called on every RebornBuddy pulse (tick) while this botbase is active.
/// </summary>
void Pulse();
/// <summary>
/// Called when RebornBuddy is shutting down or when the botbase is being unloaded.
/// </summary>
void OnShutdown();
/// <summary>
/// Gets the English display name of the botbase, useful for logging or internationalization.
/// </summary>
string EnglishName { get; }
}
}