Exemplo n.º 1
0
        public MapView(Game game)
            : base(game)
        {
            PlayerList players = ((XnaUITestGame)game).Model.GetScenario().GetGameWorld().GetPlayerList();

            foreach (PlayerComponent player in players.GetChildren())
            {
                UnitList unitList = player.GetUnitList();
                unitList.UnitAddedEvent   += onUnitAdded;
                unitList.UnitRemovedEvent += onUnitRemoved;
                ZRTSCompositeViewUIFactory factory = ZRTSCompositeViewUIFactory.Instance;
                foreach (UnitComponent unit in unitList.GetChildren())
                {
                    UnitUI unitUI = factory.BuildUnitUI(unit);
                    unitUI.DrawBox = new Rectangle((int)(unit.PointLocation.X * cellDimension), (int)(unit.PointLocation.Y * cellDimension), unitUI.DrawBox.Width, unitUI.DrawBox.Height);
                    AddChild(unitUI);
                    componentToUI.Add(unit, unitUI);
                    unit.MovedEventHandlers     += updateLocationOfUnit;
                    unit.HPChangedEventHandlers += killUnit;
                }
                BuildingList buildingList = player.BuildingList;
                foreach (Building b in buildingList.GetChildren())
                {
                    BuildingUI buildingUI = factory.BuildBuildingUI(b);
                    buildingUI.DrawBox = new Rectangle((int)b.PointLocation.X * cellDimension, (int)b.PointLocation.Y * cellDimension, buildingUI.DrawBox.Width, buildingUI.DrawBox.Height);
                    AddChild(buildingUI);
                }
                buildingList.BuildingAddedEventHandlers += this.onBuildingAdded;
            }
            leftButtonStrategy = new DrawSelectionBoxStrategy(this);
            OnClick           += moveSelectedUnits;
        }
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="game">game object</param>
 public MapView(Game game)
     : base(game)
 {
     PlayerList players = ((XnaUITestGame)game).Model.GetScenario().GetGameWorld().GetPlayerList();
     foreach (PlayerComponent player in players.GetChildren())
     {
         UnitList unitList = player.GetUnitList();
         unitList.UnitAddedEvent += onUnitAdded;
         unitList.UnitRemovedEvent += onUnitRemoved;
         ZRTSCompositeViewUIFactory factory = ZRTSCompositeViewUIFactory.Instance;
         foreach (UnitComponent unit in unitList.GetChildren())
         {
             UnitUI unitUI = factory.BuildUnitUI(unit);
             unitUI.DrawBox = new Rectangle((int)(unit.PointLocation.X * cellDimension), (int)(unit.PointLocation.Y * cellDimension), unitUI.DrawBox.Width, unitUI.DrawBox.Height);
             AddChild(unitUI);
             componentToUI.Add(unit, unitUI);
             unit.MovedEventHandlers += updateLocationOfUnit;
             unit.HPChangedEventHandlers += killUnit;
         }
         BuildingList buildingList = player.BuildingList;
         foreach (Building b in buildingList.GetChildren())
         {
             BuildingUI buildingUI = factory.BuildBuildingUI(b);
             buildingUI.DrawBox = new Rectangle((int)b.PointLocation.X * cellDimension, (int)b.PointLocation.Y * cellDimension, buildingUI.DrawBox.Width, buildingUI.DrawBox.Height);
             AddChild(buildingUI);
         }
         buildingList.BuildingAddedEventHandlers += this.onBuildingAdded;
     }
     leftButtonStrategy = new DrawSelectionBoxStrategy(this);
     OnClick += moveSelectedUnits;
 }