Esempio n. 1
0
        protected override void OnRenderFrame(FrameEventArgs e)
        {
            //Console.WriteLine(Players.GamePlayers.Count);
            if (Players.GamePlayers.Count == 0)
            {
                return;
            }

            GameInfo.Width  = Width;
            GameInfo.Height = Height;
            NetCommandBuilder.Clear();
            base.OnRenderFrame(e);
            GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit);
            GL.MatrixMode(MatrixMode.Modelview);
            {
                _levelSupervisors[_levels[_currentLevel]].Run();
            }
            foreach (var t in Players.GamePlayers)
            {
                //Console.WriteLine("send command = {0}", NetCommandBuilder.RoomCommands[t]);
                Network.NetWorker.SendTo(Encoding.UTF8.GetBytes(NetCommandBuilder.LevelCommands[t].ToString()), _playerRemotes[t]);
                Network.NetWorker.SendTo(Encoding.UTF8.GetBytes(NetCommandBuilder.RoomCommands[t].ToString()), _playerRemotes[t]);
            }
            //_playerRemotes[]
            //Network.NetWorker.Send(Encoding.UTF8.GetBytes(NetCommandBuilder.RoomCommand));
            //Network.NetWorker.Send(Encoding.UTF8.GetBytes(NetCommandBuilder.LevelCommand));
            SwapBuffers();
        }
Esempio n. 2
0
        public void Shoot(Room room, Shot shot)
        {
            //Console.WriteLine(_canShoot);
            if (!_canShoot)
            {
                return;
            }
            room.Shots.Add(shot);
            foreach (var player in room.Players)
            {
                NetCommandBuilder.AppendToRoomCommand(player, "shot_add/" + shot.X + "/" + shot.Y + "/" + shot.Form.Width
                                                      + "/" + shot.Form.Height + "/" + shot.Texture);
            }

            _canShoot       = false;
            _timer.Interval = _attackSpeed;
            _timer.Elapsed += OnTimedEvent;
            _timer.Start();
        }