private void newClient(Playertoken token) { try { GameServer Server; //게임 서버로 전달 IEnumerable <GameServer> selectedServer = from server in ServerList where server.getFull() == false select server; if (selectedServer.Count() != 0) { Server = selectedServer.First(); } else { Server = Server_generate(); } Server.newPlayer(token); socketConnecter.Start_Receive(token); } catch (Exception e) { Paper_io_Server.RecordLog(e.ToString()); } }
public void newPlayer(Playertoken token) { Playerno++; User player = new User(); token.setIPeer(new ServerPeer(this, player, token)); player.setPlayer_no(Playerno_Pool.pop()); Record(player, "Connected"); //보냄 Packet packet = Packet.create(PROTOCOL.Player_no); packet.push(player.Player_no); player.Peer.send(packet); Packet packets = Packet.create(PROTOCOL.Note_Servertime); packets.push(ServerTime.ElapsedMilliseconds); player.Peer.send(packets); player.x = xyPool.pop(); player.y = xyPool.pop(); COLOR color = (COLOR)colorpool.pop(); player.setCOLOR(color); player.setDirection(DIRECTION.Up); for (int i = 0; i < 7; i++) { if (Userarr[i] != null) { Packet olduserinfo = Packet.create(PROTOCOL.Player); olduserinfo.push(ServerTime.ElapsedMilliseconds); olduserinfo.push(Userarr[i]); player.Peer.send(olduserinfo); } } Packet tome = Packet.create(PROTOCOL.Player); tome.push(ServerTime.ElapsedMilliseconds); tome.push(player); Packet newuserinfo = Packet.create(PROTOCOL.Player); newuserinfo.push(ServerTime.ElapsedMilliseconds); newuserinfo.push(player); Send_all(newuserinfo); Userarr[player.Player_no] = player; player.Peer.send(tome); }
public ServerPeer(GameServer server, User player, Playertoken token) { this.Server = server; Player = player; Player.setPeer(this); player.setToken(token); this.token = token; }
private void Connected(Playertoken token) { peer = new ClientPeer(token); Server = token; Connecter.Start_Receive(token); }
public ClientPeer(Playertoken token) { this.token = token; token.setIPeer(this); Key_input.Key_in += keyin; }