private void PushToggleKeyOnValueChange(object sender, O9K.Core.Managers.Menu.EventArgs.KeyEventArgs e) { try { if (!e.NewValue) { return; } var units = this.owner.SelectedUnits.Select(x => this.unitManager.GetControllableUnit(x)).Where(x => x != null).ToList(); var disable = this.pushMode.ContainsAllUnits(units); foreach (var farmMode in this.farmModes) { farmMode.RemoveUnits(units); } if (disable) { this.RemoveEffects(this.pushMode.LastAddedUnits); this.pushMode.RemoveLastAddedUnits(); } else { this.AddEffects(units); this.pushMode.AddUnits(units); } } catch (Exception exception) { Logger.Error(exception); } }
private void LastHitHoldKeyOnValueChange(object sender, O9K.Core.Managers.Menu.EventArgs.KeyEventArgs e) { try { if (e.NewValue) { var units = this.owner.SelectedUnits.Select(x => this.unitManager.GetControllableUnit(x)) .Where(x => x != null) .ToList(); foreach (var farmMode in this.farmModes) { farmMode.RemoveUnits(units); } this.AddEffects(units); this.lastHitMode.AddUnits(units); } else { this.RemoveEffects(this.lastHitMode.LastAddedUnits); this.lastHitMode.RemoveLastAddedUnits(); } } catch (Exception exception) { Logger.Error(exception); } }