/// <summary> /// リスタートのときスペルのカウントをリセットする /// </summary> private void ResetCountAtRestart() { // FFXIV以外での使用ならば何もしない if (Settings.Default.UseOtherThanFFXIV) { return; } // 無効? if (!Settings.Default.ResetOnWipeOut) { return; } // Combatantsを頻繁に取得したくないので5秒に1回だけ判定する if ((DateTime.Now - this.LastCheckWipeOutDateTime).TotalSeconds <= 5d) { this.LastCheckWipeOutDateTime = DateTime.Now; return; } this.LastCheckWipeOutDateTime = DateTime.Now; var combatants = FF14PluginHelper.GetCombatantListParty(); if (combatants == null || combatants.Count < 1) { return; } // 関係者が全員死んでる? if (combatants.Count == combatants.Count(x => x.CurrentHP <= 0)) { // リセットするのは15秒に1回にする // 暗転中もずっとリセットし続けてしまうので if ((DateTime.Now - this.LastWipeOutDateTime).TotalSeconds >= 15.0) { Logger.Write("Party was wiped out. Reset spells and tickers."); // スペルのカウントをリセットする SpellTimerTable.ResetCount(); // テロップのカウントをリセットする OnePointTelopTable.Default.ResetCount(); this.LastWipeOutDateTime = DateTime.Now; } } }
/// <summary> /// リスタートのときスペルのカウントをリセットする /// </summary> private void ResetCountAtRestart() { // FFXIV以外での使用ならば何もしない if (Settings.Default.UseOtherThanFFXIV) { return; } // 無効? if (!Settings.Default.ResetOnWipeOut) { return; } var combatants = FFXIV.Instance.GetPartyList(); if (combatants == null || combatants.Count < 1) { return; } // 関係者が全員死んでる? if (combatants.Count == combatants.Count(x => x.CurrentHP <= 0)) { // リセットするのは15秒に1回にする // 暗転中もずっとリセットし続けてしまうので if ((DateTime.Now - this.LastWipeOutDateTime).TotalSeconds >= 15.0) { Logger.Write("Party was wiped out. Reset spells and tickers."); SpellTimerTable.ResetCount(); OnePointTelopTable.Default.ResetCount(); // ACT本体に戦闘終了を通知する if (Settings.Default.WipeoutNotifyToACT) { ActInvoker.Invoke(() => { ActGlobals.oFormActMain.ActCommands("end"); }); } this.LastWipeOutDateTime = DateTime.Now; } } }