/// <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); } } }