public void Connect() { foreach (string t in playerAddresses) { if (GetLocalIP() == t) { continue; } var client = new NetworkClient(); client.RegisterHandler(MsgType.Connect, OnConnected); client.RegisterHandler(MessageTypes.MSG_MOVE, OnMove); client.RegisterHandler(MessageTypes.MSG_TURN, OnTurn); client.RegisterHandler(MessageTypes.MSG_ATTACK, OnAttack); client.Configure(cc, 10); client.Connect(t, 4444); clients.Add(client); } }
public override void OnClientConnect(NetworkConnection conn) { var client = new NetworkClient(conn); base.OnClientConnect(conn); var config = new ConnectionConfig(); client.Configure(config, 5); client.RegisterHandler(MsgType.Highest + 1, msg => { var str = msg.reader.ReadString(); Msg msgData; try { msgData = JsonConvert.DeserializeObject <Msg> (str); } catch (Exception exc) { Debug.Log("Could not parse JSON message - " + exc.Message + " - " + str); return; } if (msgData.type == Msg.EType.Error) { Log("Server responded with error: " + msgData.strValue); } else if (msgData.type == Msg.EType.State) { hpSlider.maxValue = msgData.state.hpMax; hpSlider.value = msgData.state.hp; mpSlider.maxValue = 1.0f; mpSlider.value = msgData.state.mpFactor; spells = msgData.state.spells; } else { Log("unexpected event type came from server " + msgData.type + " " + str); } }); client.RegisterHandler(MsgType.Highest + 2, msg => { var bytes = msg.reader.ReadBytesAndSize(); camStreamTv.SetFrameImgBytes(bytes); }); serverConnections.Add(client); }
private void Start() { Application.runInBackground = true; GeneratedMessageTypes.Initialize(); NetworkClient.Configure(settings); NetworkClient.ConnectEvent += () => { Debug.Log("Connected to server"); Instantiate(setup); NetworkClient.Send(new AddPlayer(), 0); }; NetworkClient.DisconnectEvent += () => { Debug.Log("Disconnected from server"); }; NetworkClient.Connect(ip, port); //WorldUpdater.ConfigureClient(200); //StatisticsUI.Show(); }