Option to hide chat in battle
This commit is contained in:
@@ -18,6 +18,7 @@ internal class Configuration : IPluginConfiguration
|
|||||||
public bool HideWhenNotLoggedIn = true;
|
public bool HideWhenNotLoggedIn = true;
|
||||||
public bool HideWhenUiHidden = true;
|
public bool HideWhenUiHidden = true;
|
||||||
public bool HideInLoadingScreens;
|
public bool HideInLoadingScreens;
|
||||||
|
public bool HideInBattle;
|
||||||
public bool NativeItemTooltips = true;
|
public bool NativeItemTooltips = true;
|
||||||
public bool PrettierTimestamps = true;
|
public bool PrettierTimestamps = true;
|
||||||
public bool MoreCompactPretty;
|
public bool MoreCompactPretty;
|
||||||
@@ -70,6 +71,7 @@ internal class Configuration : IPluginConfiguration
|
|||||||
HideWhenNotLoggedIn = other.HideWhenNotLoggedIn;
|
HideWhenNotLoggedIn = other.HideWhenNotLoggedIn;
|
||||||
HideWhenUiHidden = other.HideWhenUiHidden;
|
HideWhenUiHidden = other.HideWhenUiHidden;
|
||||||
HideInLoadingScreens = other.HideInLoadingScreens;
|
HideInLoadingScreens = other.HideInLoadingScreens;
|
||||||
|
HideInBattle = other.HideInBattle;
|
||||||
NativeItemTooltips = other.NativeItemTooltips;
|
NativeItemTooltips = other.NativeItemTooltips;
|
||||||
PrettierTimestamps = other.PrettierTimestamps;
|
PrettierTimestamps = other.PrettierTimestamps;
|
||||||
MoreCompactPretty = other.MoreCompactPretty;
|
MoreCompactPretty = other.MoreCompactPretty;
|
||||||
|
|||||||
Generated
+18
@@ -2021,6 +2021,24 @@ namespace ChatTwo.Resources {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Hide the chat during battles..
|
||||||
|
/// </summary>
|
||||||
|
internal static string Options_HideInBattle_Description {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Options_HideInBattle_Description", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Hide during battle.
|
||||||
|
/// </summary>
|
||||||
|
internal static string Options_HideInBattle_Name {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Options_HideInBattle_Name", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Hide {0} during loading screens..
|
/// Looks up a localized string similar to Hide {0} during loading screens..
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1033,4 +1033,10 @@
|
|||||||
<data name="Options_Emote_EmoteTable" xml:space="preserve">
|
<data name="Options_Emote_EmoteTable" xml:space="preserve">
|
||||||
<value>Emote</value>
|
<value>Emote</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Options_HideInBattle_Name" xml:space="preserve">
|
||||||
|
<value>Hide during battle</value>
|
||||||
|
</data>
|
||||||
|
<data name="Options_HideInBattle_Description" xml:space="preserve">
|
||||||
|
<value>Hide the chat during battles.</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
|
|||||||
@@ -397,6 +397,7 @@ public sealed class ChatLogWindow : Window
|
|||||||
SetChannel(tab.Channel ?? tab.PreviousChannel);
|
SetChannel(tab.Channel ?? tab.PreviousChannel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static bool InBattle => Plugin.Condition[ConditionFlag.InCombat];
|
||||||
private static bool GposeActive => Plugin.Condition[ConditionFlag.WatchingCutscene];
|
private static bool GposeActive => Plugin.Condition[ConditionFlag.WatchingCutscene];
|
||||||
private static bool CutsceneActive => Plugin.Condition[ConditionFlag.OccupiedInCutSceneEvent] || Plugin.Condition[ConditionFlag.WatchingCutscene78];
|
private static bool CutsceneActive => Plugin.Condition[ConditionFlag.OccupiedInCutSceneEvent] || Plugin.Condition[ConditionFlag.WatchingCutscene78];
|
||||||
|
|
||||||
@@ -406,6 +407,7 @@ public sealed class ChatLogWindow : Window
|
|||||||
Cutscene,
|
Cutscene,
|
||||||
CutsceneOverride,
|
CutsceneOverride,
|
||||||
User,
|
User,
|
||||||
|
Battle
|
||||||
}
|
}
|
||||||
|
|
||||||
private HideState CurrentHideState = HideState.None;
|
private HideState CurrentHideState = HideState.None;
|
||||||
@@ -413,6 +415,14 @@ public sealed class ChatLogWindow : Window
|
|||||||
public bool IsHidden;
|
public bool IsHidden;
|
||||||
public void HideStateCheck()
|
public void HideStateCheck()
|
||||||
{
|
{
|
||||||
|
// if the chat has no hide state set, and the player has entered battle, we hide chat if they have configured it
|
||||||
|
if (Plugin.Config.HideInBattle && CurrentHideState == HideState.None && InBattle)
|
||||||
|
CurrentHideState = HideState.Battle;
|
||||||
|
|
||||||
|
// If the chat is hidden because of battle, we reset it here
|
||||||
|
if (CurrentHideState is HideState.Battle && !InBattle)
|
||||||
|
CurrentHideState = HideState.None;
|
||||||
|
|
||||||
// if the chat has no hide state and in a cutscene, set the hide state to cutscene
|
// if the chat has no hide state and in a cutscene, set the hide state to cutscene
|
||||||
if (Plugin.Config.HideDuringCutscenes && CurrentHideState == HideState.None && (CutsceneActive || GposeActive))
|
if (Plugin.Config.HideDuringCutscenes && CurrentHideState == HideState.None && (CutsceneActive || GposeActive))
|
||||||
CurrentHideState = HideState.Cutscene;
|
CurrentHideState = HideState.Cutscene;
|
||||||
@@ -429,7 +439,7 @@ public sealed class ChatLogWindow : Window
|
|||||||
if (CurrentHideState == HideState.User && Activate)
|
if (CurrentHideState == HideState.User && Activate)
|
||||||
CurrentHideState = HideState.None;
|
CurrentHideState = HideState.None;
|
||||||
|
|
||||||
if (CurrentHideState is HideState.Cutscene or HideState.User || (Plugin.Config.HideWhenNotLoggedIn && !Plugin.ClientState.IsLoggedIn))
|
if (CurrentHideState is HideState.Cutscene or HideState.User or HideState.Battle || (Plugin.Config.HideWhenNotLoggedIn && !Plugin.ClientState.IsLoggedIn))
|
||||||
{
|
{
|
||||||
IsHidden = true;
|
IsHidden = true;
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -36,6 +36,9 @@ internal sealed class Display : ISettingsTab
|
|||||||
ImGuiUtil.OptionCheckbox(ref Mutable.HideInLoadingScreens, Language.Options_HideInLoadingScreens_Name, string.Format(Language.Options_HideInLoadingScreens_Description, Plugin.PluginName));
|
ImGuiUtil.OptionCheckbox(ref Mutable.HideInLoadingScreens, Language.Options_HideInLoadingScreens_Name, string.Format(Language.Options_HideInLoadingScreens_Description, Plugin.PluginName));
|
||||||
ImGui.Spacing();
|
ImGui.Spacing();
|
||||||
|
|
||||||
|
ImGuiUtil.OptionCheckbox(ref Mutable.HideInBattle, Language.Options_HideInBattle_Name, Language.Options_HideInBattle_Description);
|
||||||
|
ImGui.Spacing();
|
||||||
|
|
||||||
ImGuiUtil.OptionCheckbox(ref Mutable.PrettierTimestamps, Language.Options_PrettierTimestamps_Name, Language.Options_PrettierTimestamps_Description);
|
ImGuiUtil.OptionCheckbox(ref Mutable.PrettierTimestamps, Language.Options_PrettierTimestamps_Name, Language.Options_PrettierTimestamps_Description);
|
||||||
|
|
||||||
if (Mutable.PrettierTimestamps)
|
if (Mutable.PrettierTimestamps)
|
||||||
|
|||||||
Reference in New Issue
Block a user