Skip to content

Commit bccdc11

Browse files
authored
Merge pull request #617 from FFXIV-CombatReborn/further-ui-work
Internal language, UI/error display, ShowToggledSettingsInChat
2 parents cdd1bc0 + 549a75d commit bccdc11

16 files changed

+126
-169
lines changed

RotationSolver.Basic/Configuration/ConditionBoolean.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public static implicit operator bool(ConditionBoolean condition)
5656
{
5757
if (!Service.Config.UseAdditionalConditions) return condition.Value;
5858
var rotation = DataCenter.CurrentRotation;
59-
var set = DataCenter.RightSet;
59+
var set = DataCenter.CurrentConditionValue;
6060
if (rotation != null)
6161
{
6262
if (condition.Enable && set.GetEnableCondition(condition.Key).IsTrue(rotation)) return true;

RotationSolver.Basic/Configuration/Conditions/MajorConditionSet.cs

+4-4
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
namespace RotationSolver.Basic.Configuration.Conditions;
55

6-
internal class MajorConditionSet(string name = MajorConditionSet.conditionName)
6+
internal class MajorConditionValue(string name = MajorConditionValue.conditionName)
77
{
88
const string conditionName = "Unnamed";
99

@@ -114,7 +114,7 @@ public void Save(string folder)
114114
File.WriteAllText(path, str);
115115
}
116116

117-
public static MajorConditionSet[] Read(string folder)
117+
public static MajorConditionValue[] Read(string folder)
118118
{
119119
if (!Directory.Exists(folder)) return [];
120120

@@ -124,14 +124,14 @@ public static MajorConditionSet[] Read(string folder)
124124

125125
try
126126
{
127-
return JsonConvert.DeserializeObject<MajorConditionSet>(str, new IConditionConverter());
127+
return JsonConvert.DeserializeObject<MajorConditionValue>(str, new IConditionConverter());
128128
}
129129
catch (Exception ex)
130130
{
131131
Svc.Log.Warning(ex, $"Failed to load the ConditionSet from {p}");
132132
Svc.Chat.Print($"Failed to load the ConditionSet from {p}");
133133
return null;
134134
}
135-
}).OfType<MajorConditionSet>().Where(set => !string.IsNullOrEmpty(set.Name)).ToArray();
135+
}).OfType<MajorConditionValue>().Where(set => !string.IsNullOrEmpty(set.Name)).ToArray();
136136
}
137137
}

RotationSolver.Basic/Configuration/Conditions/NamedCondition.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ internal class NamedCondition : DelayCondition
66
public string ConditionName = "Not Chosen";
77
protected override bool IsTrueInside(ICustomRotation rotation)
88
{
9-
foreach (var pair in DataCenter.RightSet.NamedConditions)
9+
foreach (var pair in DataCenter.CurrentConditionValue.NamedConditions)
1010
{
1111
if (pair.Name != ConditionName) continue;
1212

RotationSolver.Basic/Configuration/Configs.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -376,9 +376,9 @@ public const string
376376
PvPFilter = JobFilterType.NoHealer, PvEFilter = JobFilterType.NoHealer)]
377377
private static readonly bool _onlyHealSelfWhenNoHealer = false;
378378

379-
[ConditionBool, UI("Show action toggled action and state feedback in chat.",
379+
[ConditionBool, UI("Show toggled setting and new value in chat.",
380380
Filter = UiInformation)]
381-
private static readonly bool _showToggledActionInChat = false;
381+
private static readonly bool _ShowToggledSettingInChat = false;
382382

383383
[ConditionBool, UI("Record knockback actions", Filter = List2)]
384384
private static readonly bool _recordKnockbackies = false;
@@ -500,7 +500,7 @@ public const string
500500
Filter = HealingActionCondition, Section = 3)]
501501
private static readonly bool _healWhenNothingTodo = true;
502502

503-
[UI("The duration of special windows set by commands",
503+
[UI("The duration of special windows opened by /macro commands by default.",
504504
Filter = BasicTimer, Section = 1)]
505505
[Range(1, 20, ConfigUnitType.Seconds, 1f)]
506506
public float SpecialDuration { get; set; } = 3;

RotationSolver.Basic/DataCenter.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,13 @@ internal static IBattleChara? HostileTarget
3737
/// <summary>
3838
/// This one never be null.
3939
/// </summary>
40-
public static MajorConditionSet RightSet
40+
public static MajorConditionValue CurrentConditionValue
4141
{
4242
get
4343
{
4444
if (ConditionSets == null || ConditionSets.Length == 0)
4545
{
46-
ConditionSets = new[] { new MajorConditionSet() };
46+
ConditionSets = new[] { new MajorConditionValue() };
4747
}
4848

4949
var index = Service.Config.ActionSequencerIndex;
@@ -56,7 +56,7 @@ public static MajorConditionSet RightSet
5656
}
5757
}
5858

59-
internal static MajorConditionSet[] ConditionSets { get; set; } = Array.Empty<MajorConditionSet>();
59+
internal static MajorConditionValue[] ConditionSets { get; set; } = Array.Empty<MajorConditionValue>();
6060

6161
/// <summary>
6262
/// Only recorded 15s hps.

RotationSolver/Commands/RSCommands_Actions.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ internal static void UpdateRotationState()
195195
(Service.Config.AutoOffBetweenArea && (Svc.Condition[ConditionFlag.BetweenAreas] || Svc.Condition[ConditionFlag.BetweenAreas51])) ||
196196
(Service.Config.CancelStateOnCombatBeforeCountdown && Service.CountDownTime > 0.2f && DataCenter.InCombat) ||
197197
(ActionUpdater.AutoCancelTime != DateTime.MinValue && DateTime.Now > ActionUpdater.AutoCancelTime) ||
198-
(DataCenter.RightSet.SwitchCancelConditionSet?.IsTrue(DataCenter.CurrentRotation) ?? false))
198+
(DataCenter.CurrentConditionValue.SwitchCancelConditionSet?.IsTrue(DataCenter.CurrentRotation) ?? false))
199199
{
200200
CancelState();
201201
#pragma warning disable CS0472 // The result of the expression is always the same since a value of this type is never equal to 'null'
@@ -235,14 +235,14 @@ internal static void UpdateRotationState()
235235
_lastCountdownTime = 0;
236236
CancelState();
237237
}
238-
else if (DataCenter.RightSet.SwitchManualConditionSet?.IsTrue(DataCenter.CurrentRotation) ?? false)
238+
else if (DataCenter.CurrentConditionValue.SwitchManualConditionSet?.IsTrue(DataCenter.CurrentRotation) ?? false)
239239
{
240240
if (!DataCenter.State)
241241
{
242242
DoStateCommandType(StateCommandType.Manual);
243243
}
244244
}
245-
else if (DataCenter.RightSet.SwitchAutoConditionSet?.IsTrue(DataCenter.CurrentRotation) ?? false)
245+
else if (DataCenter.CurrentConditionValue.SwitchAutoConditionSet?.IsTrue(DataCenter.CurrentRotation) ?? false)
246246
{
247247
if (!DataCenter.State)
248248
{

RotationSolver/Commands/RSCommands_OtherCommand.cs

+5-5
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ private static void UpdateSetting(string settingName, string? command)
106106
property.SetValue(Service.Config, convertedValue);
107107
command = convertedValue?.ToString();
108108

109-
if (Service.Config.ShowToggledActionInChat)
109+
if (Service.Config.ShowToggledSettingInChat)
110110
{
111111
Svc.Chat.Print($"Changed setting {property.Name} to {command}");
112112
}
@@ -227,14 +227,14 @@ private static Enum GetNextEnumValue(Enum currentEnumValue)
227227

228228
private static void ToggleActionCommand(string str)
229229
{
230-
foreach (var act in RotationUpdater.RightRotationActions)
230+
foreach (var act in RotationUpdater.CurrentRotationActions)
231231
{
232232
if (str.StartsWith(act.Name))
233233
{
234234
var flag = str[act.Name.Length..].Trim();
235235
act.IsEnabled = bool.TryParse(flag, out var parse) ? parse : !act.IsEnabled;
236236

237-
if (Service.Config.ShowToggledActionInChat)
237+
if (Service.Config.ShowToggledSettingInChat)
238238
{
239239
Svc.Chat.Print($"Toggled {act.Name} : {act.IsEnabled}");
240240
}
@@ -258,7 +258,7 @@ private static void DoActionCommand(string str)
258258

259259
if (double.TryParse(timeStr, out var time))
260260
{
261-
foreach (var iAct in RotationUpdater.RightRotationActions)
261+
foreach (var iAct in RotationUpdater.CurrentRotationActions)
262262
{
263263
if (actName.Equals(iAct.Name, StringComparison.OrdinalIgnoreCase))
264264
{
@@ -288,7 +288,7 @@ private static void DoRotationCommand(ICustomRotation customCombo, string str)
288288
{
289289
if (config.DoCommand(configs, str))
290290
{
291-
if (Service.Config.ShowToggledActionInChat)
291+
if (Service.Config.ShowToggledSettingInChat)
292292
{
293293
Svc.Chat.Print($"Changed setting {config.DisplayName} to {config.Value}");
294294
return;

RotationSolver/Commands/RSCommands_StateSpecialCommand.cs

+5-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ public static unsafe void DoStateCommandType(StateCommandType stateType, int ind
3535
{
3636
stateType = AdjustStateType(stateType, ref index);
3737
}
38-
3938
UpdateState(stateType, role);
4039
return stateType;
4140
});
@@ -78,18 +77,23 @@ private static void UpdateState(StateCommandType stateType, JobRole role)
7877
DataCenter.State = false;
7978
DataCenter.IsManual = false;
8079
ActionUpdater.NextAction = ActionUpdater.NextGCDAction = null;
80+
if (Service.Config.ShowToggledSettingInChat) {Svc.Chat.Print($"Targeting : Off");}
8181
break;
8282

83+
8384
case StateCommandType.Auto:
8485
DataCenter.IsManual = false;
8586
DataCenter.State = true;
8687
ActionUpdater.AutoCancelTime = DateTime.MinValue;
88+
if (Service.Config.ShowToggledSettingInChat) {Svc.Chat.Print($"Auto Targeting : {Service.Config.TargetingTypes[Service.Config.TargetingIndex]}");}
8789
break;
8890

91+
8992
case StateCommandType.Manual:
9093
DataCenter.IsManual = true;
9194
DataCenter.State = true;
9295
ActionUpdater.AutoCancelTime = DateTime.MinValue;
96+
if (Service.Config.ShowToggledSettingInChat) {Svc.Chat.Print($"Targeting : Manual");}
9397
break;
9498
}
9599

RotationSolver/Data/UiString.cs

+3-6
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ namespace RotationSolver.Data
44
{
55
internal enum UiString
66
{
7-
[Description("The condition set you chose. Click to modify.")]
7+
[Description("The condition value you chose. Click to modify.")]
88
ConfigWindow_ConditionSetDesc,
99

10-
[Description("Condition Set")]
10+
[Description("Condition Value")]
1111
ConfigWindow_ConditionSet,
1212

1313
[Description("Action Condition")]
@@ -43,9 +43,6 @@ internal enum UiString
4343
[Description("Analyzes PvE combat information in every frame and finds the best action.")]
4444
ConfigWindow_About_Punchline,
4545

46-
[Description("Game")]
47-
ConfigWindow_Helper_GameVersion,
48-
4946
[Description("Invalid Rotation! \nPlease update to the latest version or contact {0}!")]
5047
ConfigWindow_Rotation_InvalidRotation,
5148

@@ -343,7 +340,7 @@ internal enum UiString
343340
[Description("Move")]
344341
InfoWindowMove,
345342

346-
[Description("Search...")]
343+
[Description("Setting Search")]
347344
ConfigWindow_Searching,
348345

349346
[Description("Timer")]

RotationSolver/UI/ConditionDrawer.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -324,7 +324,7 @@ private static void DrawAfter(this ICondition condition, ICustomRotation rotatio
324324
private static void DrawAfter(this NamedCondition namedCondition, ICustomRotation _)
325325
{
326326
ImGuiHelper.SearchCombo($"##Comparation{namedCondition.GetHashCode()}", namedCondition.ConditionName, ref searchTxt,
327-
DataCenter.RightSet.NamedConditions.Select(p => p.Name).ToArray(), i => i.ToString(), i =>
327+
DataCenter.CurrentConditionValue.NamedConditions.Select(p => p.Name).ToArray(), i => i.ToString(), i =>
328328
{
329329
namedCondition.ConditionName = i;
330330
}, UiString.ConfigWindow_Condition_ConditionName.GetDescription());

0 commit comments

Comments
 (0)