Esempio n. 1
0
        /// <summary>
        /// Give selected units a move command
        /// </summary>
        /// <param name="point">Destination</param>
        public void MoveSelectedUnitsToPoint(PointF point)
        {
            List <ModelComponent> selectedEntities = ((XnaUITestGame)Game).Model.GetSelectionState().SelectedEntities;
            // Ensure each component is a Unit.
            bool allAreUnits    = true;
            bool playerEntities = false;

            foreach (ModelComponent component in selectedEntities)
            {
                if (entityBelongsToPlayer(component))
                {
                    playerEntities = true;
                    if (!(component is UnitComponent))
                    {
                        allAreUnits = false;
                        break;
                    }
                }
            }
            if (allAreUnits && playerEntities)
            {
                foreach (UnitComponent unit in selectedEntities)
                {
                    MoveAction  moveAction = new MoveAction(point.X, point.Y, getMap(), unit);
                    ActionQueue aq         = unit.GetActionQueue();
                    aq.GetChildren().Clear();
                    aq.AddChild(moveAction);
                }
            }
        }