mirror of
https://github.com/goatcorp/Dalamud.git
synced 2026-01-03 06:13:40 +01:00
New config system, config flags for combos, commands for combos
This commit is contained in:
parent
1bd4eed72c
commit
16a5788695
9 changed files with 572 additions and 257 deletions
|
|
@ -16,6 +16,7 @@ using Dalamud.Game.Network;
|
|||
using Dalamud.Plugin;
|
||||
using Dalamud.Settings;
|
||||
using Serilog;
|
||||
using XIVLauncher.Dalamud;
|
||||
|
||||
namespace Dalamud {
|
||||
public sealed class Dalamud : IDisposable {
|
||||
|
|
@ -42,8 +43,11 @@ namespace Dalamud {
|
|||
|
||||
public readonly IconReplacer IconReplacer;
|
||||
|
||||
public readonly DalamudConfiguration Configuration;
|
||||
|
||||
public Dalamud(DalamudStartInfo info) {
|
||||
this.StartInfo = info;
|
||||
this.Configuration = DalamudConfiguration.Load(info.ConfigurationPath);
|
||||
|
||||
this.baseDirectory = info.WorkingDirectory;
|
||||
|
||||
|
|
@ -61,11 +65,11 @@ namespace Dalamud {
|
|||
SetupCommands();
|
||||
|
||||
ChatHandlers = new ChatHandlers(this);
|
||||
NetworkHandlers = new NetworkHandlers(this, info.OptOutMbCollection);
|
||||
NetworkHandlers = new NetworkHandlers(this, this.Configuration.OptOutMbCollection);
|
||||
|
||||
this.ClientState = new ClientState(this, info, this.sigScanner, this.targetModule);
|
||||
|
||||
this.BotManager = new DiscordBotManager(this, info.DiscordFeatureConfig);
|
||||
this.BotManager = new DiscordBotManager(this, this.Configuration.DiscordFeatureConfig);
|
||||
|
||||
this.PluginManager = new PluginManager(this, info.PluginDirectory, info.DefaultPluginDirectory);
|
||||
|
||||
|
|
@ -122,6 +126,11 @@ namespace Dalamud {
|
|||
ShowInHelp = false
|
||||
});
|
||||
|
||||
CommandManager.AddHandler("/xldcombo", new CommandInfo(OnCommandDebugCombo) {
|
||||
HelpMessage = "COMBO debug",
|
||||
ShowInHelp = false
|
||||
});
|
||||
|
||||
CommandManager.AddHandler("/xlhelp", new CommandInfo(OnCommandHelp) {
|
||||
HelpMessage = "Shows list of commands available."
|
||||
});
|
||||
|
|
@ -320,6 +329,54 @@ namespace Dalamud {
|
|||
}
|
||||
}
|
||||
|
||||
private void OnCommandDebugCombo(string command, string arguments) {
|
||||
var argumentsParts = arguments.Split();
|
||||
|
||||
switch (argumentsParts[0]) {
|
||||
case "setall": {
|
||||
foreach (var value in Enum.GetValues(typeof(CustomComboPreset)).Cast<CustomComboPreset>()) {
|
||||
if (value == CustomComboPreset.None)
|
||||
continue;
|
||||
|
||||
this.Configuration.ComboPresets |= value;
|
||||
}
|
||||
|
||||
Framework.Gui.Chat.Print("all SET");
|
||||
}
|
||||
break;
|
||||
case "unsetall": {
|
||||
foreach (var value in Enum.GetValues(typeof(CustomComboPreset)).Cast<CustomComboPreset>()) {
|
||||
this.Configuration.ComboPresets &= value;
|
||||
}
|
||||
|
||||
Framework.Gui.Chat.Print("all UNSET");
|
||||
}
|
||||
break;
|
||||
case "set": {
|
||||
foreach (var value in Enum.GetValues(typeof(CustomComboPreset)).Cast<CustomComboPreset>()) {
|
||||
if (value.ToString().ToLower() != argumentsParts[1].ToLower())
|
||||
continue;
|
||||
|
||||
this.Configuration.ComboPresets |= value;
|
||||
Framework.Gui.Chat.Print(argumentsParts[1] + " SET");
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "list": {
|
||||
foreach (var value in Enum.GetValues(typeof(CustomComboPreset)).Cast<CustomComboPreset>()) {
|
||||
if (this.Configuration.ComboPresets.HasFlag(value))
|
||||
Framework.Gui.Chat.Print(value.ToString());
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default: Framework.Gui.Chat.Print("Unknown");
|
||||
break;
|
||||
}
|
||||
|
||||
this.Configuration.Save(this.StartInfo.ConfigurationPath);
|
||||
}
|
||||
|
||||
private void OnBotJoinCommand(string command, string arguments) {
|
||||
if (this.BotManager != null && this.BotManager.IsConnected)
|
||||
Process.Start(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue