IEnumerator PlayerInfoWebRequest(string userID, int connection) { string url = "https://pnz7w1hjm3.execute-api.us-east-2.amazonaws.com/default/FinalAssignmentGetPlayer?UserID=" + userID; UnityWebRequest www = UnityWebRequest.Get(url); www.SetRequestHeader("Content-Type", "application/json"); yield return(www.SendWebRequest()); Debug.Log(" player info finished requesting from db "); if (www.isNetworkError || www.isHttpError) { Debug.Log(" player info error getting "); Debug.Log(www.error); MyInfoMsg m = new MyInfoMsg(); m.Player.UserID = userID; SendToClient(JsonUtility.ToJson(m), m_Connections[connection]); // register unsuccessful } else { Debug.Log(" player info successfully gotten. Sending to player ..... "); MyInfoMsg m = new MyInfoMsg(); NetworkObjects.Item test = JsonUtility.FromJson <NetworkObjects.Item>(www.downloadHandler.text); m.Player = test; m.Player.UserID = test.UserID; m.Player.Wins = test.Wins; m.Player.Loses = test.Loses; m.successful = true; Debug.Log(JsonUtility.ToJson(m)); Debug.Log(" ....... now. "); SendToClient(JsonUtility.ToJson(m), m_Connections[connection]); // register sucessful } }
void Start() { Player = new NetworkObjects.Item(); MyLobby = new NetworkObjects.Lobby(); m_Driver = NetworkDriver.Create(); m_Connection = default(NetworkConnection); var endpoint = NetworkEndPoint.Parse(serverIP, serverPort); m_Connection = m_Driver.Connect(endpoint); DontDestroyOnLoad(gameObject); }
IEnumerator SendLoginWebRequest(string userID, string password, int connection) { string url = "https://pnz7w1hjm3.execute-api.us-east-2.amazonaws.com/default/FinalAssignmentGetPlayer?UserID=" + userID; UnityWebRequest www = UnityWebRequest.Get(url); www.SetRequestHeader("Content-Type", "application/json"); yield return(www.SendWebRequest()); Debug.Log(www.downloadHandler.text); if (www.isNetworkError || www.isHttpError) { Debug.Log(www.error); PlayerLoginMsg m = new PlayerLoginMsg(); m.userID = userID; SendToClient(JsonUtility.ToJson(m), m_Connections[connection]); // login unsuccessful } else { Debug.Log(www.downloadHandler.text); NetworkObjects.Item test = JsonUtility.FromJson <NetworkObjects.Item>(www.downloadHandler.text); //Debug.Log(test.UserID); //message if (password == test.Password) { PlayerLoginMsg m = new PlayerLoginMsg(); m.userID = userID; m.successful = true; SendToClient(JsonUtility.ToJson(m), m_Connections[connection]); d_Connections[userID] = m_Connections[connection]; // login successful } else { PlayerLoginMsg m = new PlayerLoginMsg(); m.userID = userID; SendToClient(JsonUtility.ToJson(m), m_Connections[connection]); // login unsuccessful } } }
// Update is called once per frame void FixedUpdate() { NetworkObjects.Item player = FindObjectOfType <NetworkClient>().Player; nameText.text = player.UserID + " | LEVEL : " + (int.Parse(player.Wins) / 10).ToString();; }
void OnData(DataStreamReader stream) { NativeArray <byte> bytes = new NativeArray <byte>(stream.Length, Allocator.Temp); stream.ReadBytes(bytes); string recMsg = Encoding.ASCII.GetString(bytes.ToArray()); NetworkHeader header = JsonUtility.FromJson <NetworkHeader>(recMsg); switch (header.cmd) { case Commands.PLAYER_LOGIN: PlayerLoginMsg loginMsg = JsonUtility.FromJson <PlayerLoginMsg>(recMsg); // check if successful is true if (loginMsg.successful) { Debug.Log("Successful Login"); PlayerUserID = loginMsg.userID; //RequestPlayerInfo(); SceneManager.LoadScene("Lobbies"); } else { Debug.Log("UNSuccessful Login"); FindObjectOfType <LoginButtonBehaviour>().DisplayError(); } break; case Commands.PLAYER_REGISTER: PlayerRegisterMsg registerMsg = JsonUtility.FromJson <PlayerRegisterMsg>(recMsg); if (registerMsg.successful) { Debug.Log("Successful Register"); PlayerUserID = registerMsg.userID; //RequestPlayerInfo(); SceneManager.LoadScene("Lobbies"); } else { Debug.Log("UNSuccessful Register"); FindObjectOfType <RegisterButtonBehaviour>().DisplayError(); } // check if successful is true break; case Commands.HOST_GAME: HostGameMsg hostmsg = JsonUtility.FromJson <HostGameMsg>(recMsg); if (hostmsg.successful && (hostmsg.newLobby.Player1 == PlayerUserID || hostmsg.newLobby.Player2 == PlayerUserID)) { MyLobby = hostmsg.newLobby; SceneManager.LoadScene("Lobby"); // success move to the lobby scene } else { // display error } break; case Commands.JOIN_GAME: JoinGameMsg joinmsg = JsonUtility.FromJson <JoinGameMsg>(recMsg); if (joinmsg.successful && (joinmsg.joinLobby.Player1 == PlayerUserID || joinmsg.joinLobby.Player2 == PlayerUserID)) { MyLobby = joinmsg.joinLobby; if (joinmsg.joinLobby.Player1 == PlayerUserID) { MyLevel = joinmsg.joinLobby.HostWins; OpponentLevel = joinmsg.joinLobby.Player2Wins; FindObjectOfType <LobbyHandler>().UpdateLobby(); } else { MyLevel = joinmsg.joinLobby.Player2Wins; OpponentLevel = joinmsg.joinLobby.HostWins; SceneManager.LoadScene("Lobby"); } // success move to the lobby scene } else { // display error } break; case Commands.HANDSHAKE: HandshakeMsg hsMsg = JsonUtility.FromJson <HandshakeMsg>(recMsg); Debug.Log("Handshake message received!"); //myServerId = hsMsg.InternalServerID; //Debug.Log("My id is:" + myServerId); ////add our own id so we know who we are //if (myId == "") //{ // myId = hsMsg.player.id; // Debug.Log("My id is:" + myId); //} break; case Commands.START_GAME: StartGameMsg startMsg = JsonUtility.FromJson <StartGameMsg>(recMsg); if (startMsg.LobbyToStart.Player1 == PlayerUserID) // i am player 1 { MyPlayerCharacter = startMsg.Player1Char; EnemyPlayerCharacter = startMsg.Player2Char; } else // i am player 2 { MyPlayerCharacter = startMsg.Player2Char; EnemyPlayerCharacter = startMsg.Player1Char; } if (startMsg.successful) { EnterPlay(); } break; case Commands.PLAYER_UPDATE: //not really receiveing player update messages as this is this client and not the server PlayerUpdateMsg puMsg = JsonUtility.FromJson <PlayerUpdateMsg>(recMsg); Debug.Log("Player update message received!"); break; case Commands.SERVER_UPDATE: ServerUpdateMsg suMsg = JsonUtility.FromJson <ServerUpdateMsg>(recMsg); Debug.Log("Server update message received!"); for (int i = 0; i < suMsg.players.Count; i++) { } break; case Commands.REQUEST_ALL_LOBBIES: AllAvailableLobbies alMsg = JsonUtility.FromJson <AllAvailableLobbies>(recMsg); Debug.Log("Server update message received!"); for (int i = 0; i < alMsg.Lobbies.Count; i++) { Debug.Log(JsonUtility.ToJson(alMsg.Lobbies[i])); } ScrollFiller scrollFiller = FindObjectOfType <ScrollFiller>(); scrollFiller.ClearLobbies(); foreach (var lobby in alMsg.Lobbies) { //if (!lobby.full) scrollFiller.GenerateItem(lobby, lobby.HostWins); } break; case Commands.MOVE_TAKEN: MoveTakenMsg moveMsg = JsonUtility.FromJson <MoveTakenMsg>(recMsg); Debug.Log("Received move from player"); FindObjectOfType <BattleSystem>().EnemyAttack(moveMsg.move); break; case Commands.PLAYER_INFO: MyInfoMsg infoMsg = JsonUtility.FromJson <MyInfoMsg>(recMsg); Debug.Log("Received info about player"); Debug.Log("RAW MESSAGE PLAYER INFO " + recMsg); Player = infoMsg.Player; break; case Commands.LOBBY_DISCONNECTED: Debug.Log("Other player disconnected form lobby"); OnOtherPlayerDisconnected(); break; default: Debug.Log("Unrecognized message received!"); Debug.Log(recMsg); break; } }