Ejemplo n.º 1
0
    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);
        }
    }
Ejemplo n.º 2
0
 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);
         }
     }
 }