private void JoinGame(object sender, EventArgs e)
        {
            Application.Run(new FrmJoinGame());
            var multiplayerComponent = new MultiplayerComponent(_game, _input, _game.Get <GameWindow>().ClientSize, new IPEndPoint(IPAddress.Loopback, GameSettings.DefaultPortServer));

            _game.RegisterNewComponent(multiplayerComponent);
            Visible = false;
            Enabled = false;
            _game.JoinGame();
        }
Beispiel #2
0
        public void Run(int frame, int ups, bool multiplayer, string playername = "")
        {
            IsMutliplayer = multiplayer;

            if (multiplayer)
            {
                MultiplayerComponent.Connect();
            }

            Frames   = frame;
            this.ups = ups;

            if (multiplayer)
            {
                Map            = MultiplayerComponent.GetMap();
                player         = MultiplayerComponent.ConnectPlayer(playername);
                player.Map     = Map;
                player.IsLocal = true;
                player.Color   = Color.Red;
            }
            else
            {
                var generator = new MapGenerator();
                Map = generator.Generate(20, 10);

                player = new Player(Map, RoleManager.GetRandomRole())
                {
                    Color    = Color.Red,
                    Position = new Point(7, 4)
                };
                CurrentGameStatus = GameStatus.Running;
            }


            Map.Players.Add(player);

            if (RoundComponent == null)
            {
                RoundComponent = new DefaultRoundManagerComponent(Map);
            }

            IsRunning = true;

            gameThread = new Thread(Loop)
            {
                Name = "gameThread"
            };

            gameThread.Start();
        }
Beispiel #3
0
        private void SystemUpdate()
        {
            if (IsMutliplayer)
            {
                MultiplayerComponent.Update(this);
            }

            WaitingComponent?.Update(this);

            if (CurrentGameStatus == GameStatus.Running)
            {
                GameUpdate();
            }
        }
Beispiel #4
0
        public void Stop()
        {
            if (IsMutliplayer)
            {
                MultiplayerComponent.Disconnect();
            }

            if (gameThread.IsAlive)
            {
                IsRunning = false;
            }

            CurrentGameStatus = GameStatus.Stopped;
        }
        private void HostGame(object sender, EventArgs e)
        {
            var server = new ChainReactServer(_game.Identity.Id);

            server.Start();
            var multiplayerComponent = new MultiplayerComponent(_game, _input, _game.Get <GameWindow>().ClientSize, new IPEndPoint(IPAddress.Loopback, GameSettings.DefaultPortServer));

            _game.RegisterNewComponent(multiplayerComponent);
            Visible = false;
            Enabled = false;
            GameSettings.Instance.Address = IPAddress.Loopback;
            _game.JoinGame();
            //_game.JoinGame(_random.Next(25000, 60000));
        }
 private void JoinGame(object sender, EventArgs e)
 {
     Application.Run(new FrmJoinGame());
     var multiplayerComponent = new MultiplayerComponent(_game, _input, _game.Get<GameWindow>().ClientSize, new IPEndPoint(IPAddress.Loopback, GameSettings.DefaultPortServer));
     _game.RegisterNewComponent(multiplayerComponent);
     Visible = false;
     Enabled = false;
     _game.JoinGame();
 }
 private void HostGame(object sender, EventArgs e)
 {
     var server = new ChainReactServer(_game.Identity.Id);
     server.Start();
        var multiplayerComponent = new MultiplayerComponent(_game, _input, _game.Get<GameWindow>().ClientSize, new IPEndPoint(IPAddress.Loopback, GameSettings.DefaultPortServer));
     _game.RegisterNewComponent(multiplayerComponent);
     Visible = false;
     Enabled = false;
     GameSettings.Instance.Address = IPAddress.Loopback;
     _game.JoinGame();
     //_game.JoinGame(_random.Next(25000, 60000));
 }