public void StartServer() { if (PongNetworkManager.StartServer(SV_OnDisconnected) < 0) { PromptMessage = "Failed to start server. Press Esc and try to host game again"; return; } NetworkServer.RegisterHandler(PongMsgType.CheckProto, m => { if (EnemyConn != null && m.conn != EnemyConn) { //There can be only ONE m.conn.Disconnect(); return; } EnemyConn = m.conn; PromptMessage = ""; Ready = true; }); NetworkServer.RegisterHandler(PongMsgType.PlayerInput, m => { var msg = m.ReadMessage <InputMessage>(); PongGame.Instance.ApplyPlayerInput(msg); }); }
private void Start() { if (instance == null) { instance = this; } }
public void ServerUpdate() { m_updateTimer += Time.deltaTime; if (m_updateTimer > m_updateRate) { PongNetworkManager.SendToClients(PongMsgType.Snapshot, CreatePongSnapshot(), NetworkConfiguration.ChannelUnreliableSequenced); m_updateTimer = 0; } }
public void ClientUpdate() { m_updateTimer += Time.deltaTime; if (m_updateTimer > m_updateRate) { PongNetworkManager.SendToServer(PongMsgType.PlayerInput, new InputMessage() { MouseXPos = Camera.main.ScreenToWorldPoint(Input.mousePosition).x, TS = Time.time }, NetworkConfiguration.ChannelUnreliableSequenced); m_updateTimer = 0; } }
public void Shutdown() { if (PongGame.Instance.IsClient) { PongNetworkManager.CL_Shutdown(); } else if (PongGame.Instance.IsHost) { PongNetworkManager.SV_Shutdown(); } return; }
private void CreateRandomBall() { var ballIndex = Random.Range(0, m_ballPrefabs.Count); m_gameBall = Instantiate(m_ballPrefabs[ballIndex]); if (IsHost) { //TODO move it some place else PongNetworkManager.SendToClients(PongMsgType.ResetBall, new ResetBallMessage() { BallIndx = ballIndex }, NetworkConfiguration.ChannelReliableSequenced); } }
public void StartClient() { var address = PongNetworkManager.DEFAULT_ADDRESS; if (!string.IsNullOrEmpty(Core.GameCore.Instance.PongSettings.ConnectionAddress)) { address = Core.GameCore.Instance.PongSettings.ConnectionAddress; } var client = PongNetworkManager.ConnectClient(address, PongNetworkManager.PORT, CL_OnConnected, CL_OnDisconnected); client.RegisterHandler(PongMsgType.Snapshot, m => { var msg = m.ReadMessage <SnapshotMessage>(); PongGame.Instance.ApplySnapshot(msg); }); client.RegisterHandler(PongMsgType.ResetBall, m => { var msg = m.ReadMessage <ResetBallMessage>(); PongGame.Instance.OnResetBall(msg); }); }
void Start() { scoreManager = FindObjectOfType <ScoreManager> (); rigidBody = GetComponent <Rigidbody2D> (); networkManager = FindObjectOfType <PongNetworkManager> (); }
private void CL_OnConnected(NetworkConnection conn) { PongNetworkManager.SendToServer(PongMsgType.CheckProto, null, NetworkConfiguration.ChannelReliable); PromptMessage = ""; Ready = true; }