internal static Server GetInstance(Game game, GamePanel panel, Client client) { if (game == null) throw new ArgumentException("Game may not be null!", nameof(game)); if (Instance == null) Instance = new Server(game, panel, client); return Instance; }
private Server(Game game, GamePanel panel, Client client) { this.game = game; GameState = new ServerGameState(this); for (var i = 1; i < 5; i++) GameState.SeatedPlayers[i] = Player.GetPlayerServerSide($"Temp {i}"); ServerMessageHandler = new ServerMessageHandler(this, GameState); }
public Netviewer(Server server, Client client) :this() { this.server = server; this.client = client; if(client != null && client.ReceiveHandler != null) { client.ReceiveHandler.OnReceive += ClientReceive; client.OnSent += ClientSent; } if (server != null) { server.ServerMessageHandler.OnReceive += ServerReceive; server.OnSent += ServerSent; } }
public ClientGameState(GamePanel panel, Client client, Game game, bool isHost) : base() { IsHost = isHost; Client = client; Chat = ChatHandler.Initialize(this); client.OnConnected += BindGetGamestate; panel.InitializePiles(DrawPile, DiscardPile); for (var i = 0; i < 17; i++) DrawPile.AddCard(new CardPolicyUnknown()); Window = game; this.panel = panel; OnStart += (ClientGameState state) => { state.FascistActions = FascistAction.GetActionsForPlayers(state.PlayerCount); }; }
public Game(ServerClientDialog dialog) { InitializeComponent(); client = Client.GetClient(this, dialog.Username); client.Name = dialog.Username; if (!dialog.Join) { //Host code server = Server.GetInstance(this, gamePanel, client); server.Start(); while (!server.Running) ; } GameState = new ClientGameState(gamePanel, client, this, server != null); gamePanel.InitializeState(GameState); client.Connect(dialog.IPAddress); statusLabel.Parent = gamePanel; playerMsg.Parent = gamePanel; }
public DebugConsole(Server server, ServerGameState serverGameState, Client client, ClientGameState clientGameState) :this() { this.server = server; this.serverGameState = serverGameState; this.client = client; this.clientGameState = clientGameState; for(var i = 0; i < serverGameState.SeatedPlayers.Length; i++) { if (serverGameState.SeatedPlayers[i] == null) continue; playerButtons[i].Enabled = true; playerButtons[i].Text = serverGameState.SeatedPlayers[i].Name; playerButtons[i].Tag = serverGameState.SeatedPlayers[i]; } for (var i = 0; i < policyButtons.Length; i++) { policyButtons[i].Tag = (byte)i; } }
private void BindGetGamestate(Client obj) { obj.ReceiveHandler.OnReceive += OnMessageReceived; obj.RequestGameState(); }
private void Client_OnConnected(Client obj) { obj.ReceiveHandler.OnReceive += OnReceive; }
public Netviewer(Client client) : this(null, client) { }
public static Client GetClient(Game game, string username) { Instance = new Client(game, username); return Instance; }
public SendMsgHandler(NetworkObject obj, Client client, Action<NetworkObject> callback = null) { this.obj = obj; this.client = client; this.callback = callback; DoWork += StartSendMessage; RunWorkerAsync(); }
public ReceiveMsgHandler(Client client) { this.client = client; DoWork += ReceiveFromServer; }