private void ClearExistingMove(ProvinceState selectedProvince) { MergerIntention existingMerge = _mergers.FirstOrDefault(item => item.From == selectedProvince.Identifier); if (existingMerge != null) { _mergers.Remove(existingMerge); } AttackIntention existingAttack = _attacks.FirstOrDefault(item => item.From == selectedProvince.Identifier); if (existingAttack != null) { _attacks.Remove(existingAttack); } }
internal void RequestAttackOrMerge(ProvinceState selectedProvince, ProvinceState draggedOnProvince) { ClearExistingMove(selectedProvince); if (RemainingMoves > 0) { if (selectedProvince.Owner == draggedOnProvince.Owner) { // Merge MergerIntention merger = new MergerIntention(selectedProvince.Owner, selectedProvince.Identifier, draggedOnProvince.Identifier); _mergers.Add(merger); } else { // Attack AttackIntention attack = new AttackIntention(selectedProvince.Owner, selectedProvince.Identifier, draggedOnProvince.Identifier); _attacks.Add(attack); } } }