Esempio n. 1
0
        public void SetResources()

        {
            woodAmount = 5000;


            if (isLocalPlayer)
            {
                networkService = (Owner.Scene as NetworkedScene).networkService;
                keysBehavior   = RenderManager.ActiveCamera2D.Owner.FindComponent <KeysBehavior>();
                ui             = UIBehavior.ui;
                map            = Map.map;
                fog            = FogOfWar.fog;
                PathDrawable draw = new PathDrawable();
                draw.SetPlayer(this, path);
                Owner.AddComponent(draw);
            }
        }
Esempio n. 2
0
        protected override void Start()
        {
            base.Start();
            //Find players and set them
            IEnumerable <object> objects = EntityManager.FindAllByTag("player");
            List <Player>        players = new List <Player>();

            foreach (Entity ent in objects)
            {
                players.Add(ent.FindComponent <Player>());
            }
            //Set map
            Map.map.SetMap();
            FogOfWar.fog.InitializeFog(true);

            //Set ui
            UIBehavior ui = UIBehavior.ui;

            ui.SetPlayers(players.ToArray());
            ui.SetUI();
            PopulateGame pop = new PopulateGame();

            pop.SetWoods();
            for (int i = 0; i < players.Count; i++)
            {
                pop.SetPlayer(players[i], i, players.Count);
            }

            //Force ui move to its original place
            WaveServices.Layout.PerformLayout(this);

            //Place camera
            RenderManager.ActiveCamera2D.Owner.FindComponent <Camera2DBehavior>().SetDefaultValues();

            //this is for clearing the new changing visibility tiles,  D* purposes
            this.AddSceneBehavior(new FogClearBehavior(), SceneBehavior.Order.PostUpdate);


            //And this is for the sounds
            UIBehavior.ui.Owner.AddComponent(new SoundHandler());

            UIBehavior.ui.Owner.FindComponent <VictoryBehavior>().Enable();
        }
Esempio n. 3
0
        protected override void Update(TimeSpan gameTime)
        {
            if (!started)
            {
                started = true;
                UIBehavior       ui    = Scene.EntityManager.Find("camera2D").FindComponent <UIBehavior>();
                Entity           p     = ui.CreateToTile("Person", 3, 3);
                List <LayerTile> tiles = new List <LayerTile>();
                tiles.Add(Map.map.GetTileByMapCoordinates(3, 3));
                tiles.Add(Map.map.GetTileByMapCoordinates(2, 3));
                tiles.Add(Map.map.GetTileByMapCoordinates(2, 2));
                tiles.Add(Map.map.GetTileByMapCoordinates(2, 1));
                p.FindComponent <MovementBehavior>().SetPath(tiles);

                p     = ui.CreateToTile("Person", 1, 1);
                tiles = new List <LayerTile>();
                tiles.Add(Map.map.GetTileByMapCoordinates(1, 1));
                tiles.Add(Map.map.GetTileByMapCoordinates(1, 2));
                tiles.Add(Map.map.GetTileByMapCoordinates(2, 2));
                tiles.Add(Map.map.GetTileByMapCoordinates(2, 1));
                tiles.Add(Map.map.GetTileByMapCoordinates(2, 0));
                p.FindComponent <MovementBehavior>().SetPath(tiles);
            }
        }
Esempio n. 4
0
 protected override void Initialize()
 {
     base.Initialize();
     fog = FogOfWar.fog;
     ui  = UIBehavior.ui;
 }
Esempio n. 5
0
        private void SetAllElementsAndStart(bool bigField)
        {
            networkedScene.state.Text = "setting up GUI";
            if (bigField)
            {
                Map.map.SetBounds(20, 20);
            }
            else
            {
                Map.map.SetBounds(10, 12);
            }
            Map.map.SetMap();
            FogOfWar.fog.InitializeFog(true);

            UIBehavior ui = UIBehavior.ui;

            ui.SetPlayers(players);
            ui.SetUI();
            ui.Owner.FindComponent <Camera2DBehavior>().SetDefaultValues();
            for (int i = 0; i < players.Length; i++)
            {
                if (players[i].isLocalPlayer)
                {
                    ui.playerButtons[i].IsChecked = true;
                    new PopulateNetworkedGame().SetCameraPosition(i, players.Length, networkedScene);
                    break;
                }
            }



            if (networkedScene.isHost && POPULATE)
            {
                PopulateNetworkedGame pop = new PopulateNetworkedGame();
                pop.SetRiver(networkedScene.serverDispatcher);
                pop.SetWoods(networkedScene.serverDispatcher);
                for (int i = 0; i < players.Length; i++)
                {
                    pop.SetPlayer(networkedScene.serverDispatcher, players[i], i, players.Length);
                    if (players[i].isLocalPlayer)
                    {
                        pop.SetCameraPosition(i, players.Length, networkedScene);
                    }
                }
                UIBehavior.ui.Owner.FindComponent <VictoryBehavior>().Enable();
            }

            networkedScene.RemoveLobbyUI();
            Trace.WriteLine("Messages: " + networkedScene.sentMessages);
            WaveServices.Layout.PerformLayout();
            ui.Owner.IsActive       = true;
            Map.map.Owner.IsActive  = true;
            Map.map.Owner.IsVisible = true;

            //this class shows the costs for computing d* path on a selected WO
            //DStarDrawable dstarBeh = new DStarDrawable();
            //networkedScene.AddSceneBehavior(dstarBeh, SceneBehavior.Order.PostUpdate);
            //dstarBeh.Set();

            //this is for clearing the new changing visibility tiles,  D* purposes
            networkedScene.AddSceneBehavior(new FogClearBehavior(), SceneBehavior.Order.PostUpdate);
        }