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(); }
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(); }