actually remove
This commit is contained in:
parent
98536c4af4
commit
b985482929
|
@ -43,6 +43,9 @@ internal class Messages : IDisposable {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private bool _inCutscene;
|
||||||
|
private bool _inGpose;
|
||||||
|
|
||||||
internal Messages(Plugin plugin) {
|
internal Messages(Plugin plugin) {
|
||||||
this.Plugin = plugin;
|
this.Plugin = plugin;
|
||||||
|
|
||||||
|
@ -66,6 +69,7 @@ internal class Messages : IDisposable {
|
||||||
this.SpawnVfx();
|
this.SpawnVfx();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.Plugin.Framework.Update += this.RemoveConditionally;
|
||||||
this.Plugin.Framework.Update += this.HandleSpawnQueue;
|
this.Plugin.Framework.Update += this.HandleSpawnQueue;
|
||||||
this.Plugin.ClientState.Login += this.SpawnVfx;
|
this.Plugin.ClientState.Login += this.SpawnVfx;
|
||||||
this.Plugin.ClientState.Logout += this.RemoveVfx;
|
this.Plugin.ClientState.Logout += this.RemoveVfx;
|
||||||
|
@ -77,10 +81,36 @@ internal class Messages : IDisposable {
|
||||||
this.Plugin.ClientState.Logout -= this.RemoveVfx;
|
this.Plugin.ClientState.Logout -= this.RemoveVfx;
|
||||||
this.Plugin.ClientState.Login -= this.SpawnVfx;
|
this.Plugin.ClientState.Login -= this.SpawnVfx;
|
||||||
this.Plugin.Framework.Update -= this.HandleSpawnQueue;
|
this.Plugin.Framework.Update -= this.HandleSpawnQueue;
|
||||||
|
this.Plugin.Framework.Update -= this.RemoveConditionally;
|
||||||
|
|
||||||
this.RemoveVfx();
|
this.RemoveVfx();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void RemoveConditionally(Framework framework) {
|
||||||
|
var nowCutscene = this.CutsceneActive;
|
||||||
|
var cutsceneChanged = this._inCutscene != nowCutscene;
|
||||||
|
if (this.Plugin.Config.DisableInCutscene && cutsceneChanged) {
|
||||||
|
if (nowCutscene) {
|
||||||
|
this.RemoveVfx();
|
||||||
|
} else {
|
||||||
|
this.SpawnVfx();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var nowGpose = this.GposeActive;
|
||||||
|
var gposeChanged = this._inGpose != nowGpose;
|
||||||
|
if (this.Plugin.Config.DisableInGpose && this.GposeActive) {
|
||||||
|
if (nowGpose) {
|
||||||
|
this.RemoveVfx();
|
||||||
|
} else {
|
||||||
|
this.SpawnVfx();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this._inCutscene = nowCutscene;
|
||||||
|
this._inGpose = nowGpose;
|
||||||
|
}
|
||||||
|
|
||||||
private unsafe void HandleSpawnQueue(Framework framework) {
|
private unsafe void HandleSpawnQueue(Framework framework) {
|
||||||
if (!this.SpawnQueue.TryDequeue(out var message)) {
|
if (!this.SpawnQueue.TryDequeue(out var message)) {
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Reference in New Issue