Ejemplo n.º 1
0
        public void Finished(Detachment detachment)
        {
            Game.Enqueue(detachment);

            if (Game.Continues())
            {
                Step();
            }
        }
Ejemplo n.º 2
0
    public void Load(XmlDocument listXmlRoot)
    {
        XmlNode rosterXml = listXmlRoot["roster"];

        _name = rosterXml.Attributes["name"].Value;

        Debug.LogFormat("RosterList: Loading roster \"{0}\"", _name);

        // Load cost limits
        XmlNodeList costLimitsXmlList =
            rosterXml.SelectNodes("//*[local-name()='costLimits']/*[local-name()='costLimit']");

        for (int i = 0; i < costLimitsXmlList.Count; i++)
        {
            var costLimitXml = costLimitsXmlList.Item(i);
            switch (costLimitXml.Attributes["typeId"].Value)
            {
            case "points":     // Points typeId
                double.TryParse(costLimitXml.Attributes["value"].Value, out _pointsLimit);
                break;

            case "e356-c769-5920-6e14":     // PL typeId
                double.TryParse(costLimitXml.Attributes["value"].Value, out _powerLevelLimit);
                break;

            default:
                Debug.LogWarningFormat("RosterList: Ignoring unknown type of cost limit " +
                                       "\"{0}\"", costLimitXml.Attributes["typeId"].Value);
                break;
            }
        }

        // Load forces
        XmlNodeList forcesListXml =
            rosterXml.SelectNodes("//*[local-name()='forces']/*[local-name()='force']");

        //Debug.LogFormat("RosterList: Number of force entries \"{0}\"", forcesListXml.Count);

        for (int i = 0; i < forcesListXml.Count; i++)
        {
            var forceXml = forcesListXml.Item(i);

            Detachment newDetachment = new Detachment();

            newDetachment.Load(forceXml);

            _detachments.Add(newDetachment);
        }
    }
Ejemplo n.º 3
0
 void UpdateDetachmentCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
 {
     if (e.Error == null)
     {
         oldObject = null;
         (SaveCommand as Command).OnCanExecuteChanged();
     }
     else
     {
         ErrorProvider.ShowError(e.Error, Navigator);
         SelectedItem = oldObject;
     }
     dataClient.UpdateDetachmentCompleted -= UpdateDetachmentCompleted;
     Busy = false;
 }
Ejemplo n.º 4
0
        public void Attack(Detachment detachment)
        {
            if (Battleground.IsAdjacent(Detachment, detachment))
            {
                Detachment.Attack(detachment);
            }
            else
            {
                (int X, int Y) = Battleground.Position(detachment);

                Move(X, Y);

                if (Battleground.IsAdjacent(Detachment, detachment))
                {
                    Detachment.Attack(detachment);
                }
            }
        }
Ejemplo n.º 5
0
 private void OnSaveExecute()
 {
     Busy       = true;
     dataClient = ContainerProvider.GetInstance.Resolve <DataServiceClient>();
     if (SelectedItem == null)
     {
         selectedDetachment = new Detachment()
         {
             Description = Description,
             Name        = Key
         };
         dataClient.AddDetachmentCompleted += AddDetachmentCompleted;
         dataClient.AddDetachmentAsync(selectedDetachment);
     }
     else
     {
         oldObject = SelectedItem;
         SelectedItem.Description              = Description;
         dataClient.UpdateDetachmentCompleted += UpdateDetachmentCompleted;
         dataClient.UpdateDetachmentAsync(SelectedItem);
     }
 }
Ejemplo n.º 6
0
 public void Attack(Detachment detachment) =>
 detachment.ReceiveDamage(Damage);
Ejemplo n.º 7
0
 public override void Attack(Detachment detachment, Game game)
 {
 }
Ejemplo n.º 8
0
 public abstract void Attack(Detachment detachment, Game game);
Ejemplo n.º 9
0
 public void Control(Battleground battleground, Detachment detachment)
 {
     Battleground = battleground;
     Detachment   = detachment;
 }
Ejemplo n.º 10
0
 public void Attack(Detachment detachment) =>
 Detachment.Attack(detachment);