示例#1
0
        /// <summary>
        /// Initialize necessary components
        /// </summary>
        private void initialize()
        {
            game = new XnaUITestGame();
            ZRTSController controller = new ZRTSController(game);

            game.Components.Add(controller);

            model = new GameModel();
            ScenarioComponent scenario = new ScenarioComponent(50, 50);

            player1      = new PlayerComponent();
            player2      = new PlayerComponent();
            player1.Name = "Nate";
            player2.Name = "Smith";


            // Add sand cells at each cell.
            ZRTSModel.Map map = scenario.GetGameWorld().GetMap();
            for (int i = 0; i < map.GetWidth(); i++)
            {
                for (int j = 0; j < map.GetHeight(); j++)
                {
                    CellComponent cell = new CellComponent();
                    cell.AddChild(new Sand());
                    cell.X = i;
                    cell.Y = j;
                    map.AddChild(cell);
                }
            }
            model.AddChild(scenario);
            game.Model = model;
            game.Model.PlayerInContext = player1;   // Set a main Player

            //Create two players and set them to be enemies.
            game.Model.GetScenario().GetGameWorld().GetPlayerList().AddChild(player1);
            game.Model.GetScenario().GetGameWorld().GetPlayerList().AddChild(player2);

            // Set target enemy
            player1.EnemyList.Add(player2);
            player2.EnemyList.Add(player1);

            game.Controller = controller;

            // Add worker to player
            unitList = new List <ModelComponent>();
            unitList.Add(new UnitComponent());
            ((UnitComponent)unitList[0]).CanBuild      = true;
            ((UnitComponent)unitList[0]).Type          = "worker";
            ((UnitComponent)unitList[0]).PointLocation = new PointF(20, 20);


            //(1) Get Player#1
            currentPlayer1 = (PlayerComponent)((XnaUITestGame)game).Model.GetScenario().GetGameWorld().GetPlayerList().GetChildren()[0];

            // check if fetch the correct player
            Assert.AreEqual("Nate", currentPlayer1.Name);

            // (2) Add the actual player's unit list
            currentPlayer1.GetUnitList().AddChild(unitList[0]);
        }
 /// <summary>
 /// The main entry point for the application.
 /// </summary>
 static void Main(string[] args)
 {
     using (XnaUITestGame game = new XnaUITestGame())
     {
         game.Run();
     }
 }
 /// <summary>
 /// The main entry point for the application.
 /// </summary>
 static void Main(string[] args)
 {
     using (XnaUITestGame game = new XnaUITestGame())
     {
         game.Run();
     }
 }