예제 #1
0
    public void CommandMove(Vector3 position, string attackType, float attackRadian, string skillsJSON, string world, string zone, float health, float mana, float exp, string itemsJSON, float speed, string[] jsonArray)
    {
        var data = new PlayerJSON(holder.PlayerToken, holder.PlayerUsername, position.x, position.y, attackType, attackRadian, skillsJSON, health, mana, itemsJSON, exp, world, zone, speed);
        var json = JsonUtility.ToJson(data);

        manager.Socket.Emit("player-move", json, jsonArray, holder.Secret);
    }
예제 #2
0
    void OnPlayerTurn(SocketIOEvent socketIOEvent)
    {
        string     data            = socketIOEvent.data.ToString();
        PlayerJSON otherplayerJSON = PlayerJSON.CreateFromJSON(data);
        Quaternion rotation        = Quaternion.Euler(otherplayerJSON.rotation[0], otherplayerJSON.rotation[1], otherplayerJSON.rotation[2]);

        // if it is the current player exit
        if (otherplayerJSON.pseudo == playerNameInputLogin.text || otherplayerJSON.pseudo == playerNameInputNewAccount.text)
        {
            return;
        }
        GameObject p = GameObject.Find(otherplayerJSON.pseudo) as GameObject;

        if (p != null)
        {
            p.transform.rotation = rotation;
            Transform cp = p.transform.Find("FirstPersonCharacter");
            if (cp != null)
            {
                cp.transform.rotation = rotation;
            }
            else
            {
                Debug.Log(" cp fail");
            }
        }
    }
예제 #3
0
    void OnPlay(SocketIOEvent socketIOEvent)
    {
        print("you joined");
        startMenuCamera.gameObject.SetActive(false);
        string data = socketIOEvent.data.ToString();

        print("your JSON data was recieved");
        PlayerJSON currentUserJSON = PlayerJSON.CreateFromJSON(data);

        print("your JSON was created : " + data);
        Vector3 position = new Vector3(currentUserJSON.playerPosition[0], currentUserJSON.playerPosition[1], currentUserJSON.playerPosition[2]);

        print("your name isssssssssssssssss ");
        Quaternion rotation = Quaternion.Euler(currentUserJSON.playerRotation[0], currentUserJSON.playerRotation[1], currentUserJSON.playerRotation[2]);

        print("your name isssssssssssssssss ");
        GameObject            p  = Instantiate(player, position, rotation) as GameObject;
        MultiPlayerController pc = p.GetComponent <MultiPlayerController>();
        Transform             t  = p.transform.Find("Healthbar Canvas");
        Transform             t1 = t.transform.Find("Player Name");
        Text playerName          = t1.GetComponent <Text>();

        playerName.text  = currentUserJSON.name;
        pc.isLocalPlayer = true;
        p.name           = currentUserJSON.name;
        GameObject Eye = p.transform.Find("OVRCameraRig").gameObject;

        Eye.gameObject.SetActive(true);
        print("your name is " + currentUserJSON.name);
    }
예제 #4
0
    public void ready()
    {
        PlayerJSON statusonly = new PlayerJSON("", "Ready");
        string     data       = JsonUtility.ToJson(statusonly);

        socket.Emit("ready", new JSONObject(data));
    }
예제 #5
0
    public void OnPlayerMove(SocketIOEvent socketIOEvent)
    {
        string     data            = socketIOEvent.data.ToString();
        PlayerJSON otherplayerJSON = PlayerJSON.CreateFromJSON(data);

        Debug.Log("other player " + otherplayerJSON.pseudo + " want to move");
        Vector3 position = new Vector3(otherplayerJSON.position[0], otherplayerJSON.position[1], otherplayerJSON.position[2]);

        // if it is the current player exit
        if (otherplayerJSON.pseudo == playerNameInputLogin.text || otherplayerJSON.pseudo == playerNameInputNewAccount.text)
        {
            Debug.Log("pas normal");
            return;
        }
        GameObject op = GameObject.Find(otherplayerJSON.pseudo) as GameObject;

        if (op != null)
        {
            Debug.Log(op);
            Debug.Log("this other player  moved");
            op.transform.position = position;
        }
        else
        {
            Debug.Log("this otherplayer  want to move but doesnt exist");
            Debug.Log(op);
        }
    }
예제 #6
0
    // プレイヤー接続
    IEnumerator ConnectToServer()
    {
        yield return(new WaitForSeconds(0.5f));

        socket.Emit("player connect");

        yield return(new WaitForSeconds(1f));

        string playerName = "desktop";

        Debug.Log("Input name : " + playerName);
        PlayerSpawner ps = GetComponent <PlayerSpawner>();
        SpawnPoint    playerSpawnPoint    = ps.playerSpawnPoint;
        Vector3       playerSpawnPosition = playerSpawnPoint.spawnPosition;
        Quaternion    playerSpawnRotation = playerSpawnPoint.spawnRotation;
        GameObject    startMenuCamera     = GetComponent <GameObject>();

        PlayerJSON playerJSON = new PlayerJSON(playerName, playerSpawnPosition, playerSpawnRotation);
        string     data       = JsonUtility.ToJson(playerJSON);

        Debug.Log("playerJSON : " + data);
        socket.Emit("play", new JSONObject(data));
        Debug.Log("Emit : play");

        canvas.gameObject.SetActive(false);
    }
예제 #7
0
    public void UpdateScore(Player data)
    {
        Debug.Log(" before send score");

        string playerAsJson = PlayerJSON.CreateToJSON(data);

        io.Emit("updateScore", playerAsJson);
    }
예제 #8
0
    private void OnPlayerDisconnected(SocketIOEvent socketIOEvent)
    {
        Debug.Log("player disconnected");
        string     data       = socketIOEvent.data.ToString();
        PlayerJSON playerJSON = PlayerJSON.CreateFromJSON(data);

        Destroy(GameObject.Find(playerJSON.name));
    }
예제 #9
0
    public static PlayerJSON Create()
    {
        PlayerJSON asset = ScriptableObject.CreateInstance <PlayerJSON>();

        AssetDatabase.CreateAsset(asset, "Assets/PlayerJSONFile.asset");
        AssetDatabase.SaveAssets();
        return(asset);
    }
예제 #10
0
    public IJSON ToJSON()
    {
        PlayerJSON json = new PlayerJSON();

        json.username  = playerName;
        json.connected = IsConnected;

        return(json);
    }
예제 #11
0
    // Receives new created player object
    void OnRoomResponse(SocketIOEvent socketIoEvent)
    {
        // Debug.Log("On Room response called");
        string           response       = socketIoEvent.data.ToString();
        JSONRoomResponse serverResponse = JSONRoomResponse.CreateFromJSON(response);

        mainPlayer = serverResponse.data;
        Debug.Log(mainPlayer.nickname);
    }
예제 #12
0
    IEnumerator ConnectToServer()
    {
        yield return(new WaitForSeconds(1f));

        List <SpawnPoint> playerSpawnPoints = GetComponent <PlayerSpawner>().playerSpawnPoints;
        PlayerJSON        playerJSON        = new PlayerJSON(playerSpawnPoints);
        string            data = JsonUtility.ToJson(playerJSON);

        socket.Emit("player connect");
        socket.Emit("play", new JSONObject(data));
        //canvas.gameObject.SetActive(false);
    }
예제 #13
0
        public static string CreateToJSON(Player data)
        {
            PlayerJSON playerjson = new PlayerJSON();

            playerjson.id           = data.id;
            playerjson.pseudo       = data.pseudo;
            playerjson.Hscore       = data.Hscore;
            playerjson.currentScore = data.currentScore;
            playerjson.position     = new float[] { data.currentPosition.x, data.currentPosition.y, data.currentPosition.z };
            playerjson.rotation     = new float[] { data.currentRotation.eulerAngles.x, data.currentRotation.eulerAngles.y, data.currentRotation.eulerAngles.z };
            return(JsonUtility.ToJson(playerjson));
        }
예제 #14
0
    private void OnPlayerTurn(SocketIOEvent socketIOEvent)
    {
        string     data       = socketIOEvent.data.ToString();
        PlayerJSON playerJSON = PlayerJSON.CreateFromJSON(data);

        Debug.Log(playerJSON.name + " is rotating " + playerJSON.rotation.ToQuaternion());
        GameObject player = GameObject.Find(playerJSON.name);

        if (player != null)
        {
            player.transform.rotation = playerJSON.rotation.ToQuaternion();
        }
    }
예제 #15
0
    private void OnPlayerMove(SocketIOEvent socketIOEvent)
    {
        string     data       = socketIOEvent.data.ToString();
        PlayerJSON playerJSON = PlayerJSON.CreateFromJSON(data);

        Debug.Log(playerJSON.name + " is moving " + data);
        GameObject player = GameObject.Find(playerJSON.name);

        if (player != null)
        {
            player.transform.position = playerJSON.position.ToVector3();
        }
    }
예제 #16
0
    private void HandleStartGame(SocketIOEvent obj)
    {
        Debug.Log("Received game start");
        var playerData = PlayerJSON.CreateFromJSON(obj.data.ToString());

        if (autoJoinDebug)
        {
            GameController.instance.Initialize(playerData);
        }
        else
        {
            StartGameEvent(playerData);
        }
    }
예제 #17
0
        IEnumerator ConnectToServer()
        {
            yield return(new WaitForSeconds(0.5f));

            PlayerJSON ps = new PlayerJSON();

            ps.UID      = "1";
            ps.name     = "Vasy";
            ps.position = new PositionJSON(PC.transform.position);
            ps.rotation = new RotationJSON(PC.transform.rotation);
            string data = JsonUtility.ToJson(ps);

            socket.Emit(GSE.PLAYER_INIT, new JSONObject(data));
        }
예제 #18
0
    IEnumerator ConnectToServer()
    {
        yield return(new WaitForSeconds(0.5f));

        socket.Emit("player connect");

        yield return(new WaitForSeconds(1f));

        string     playerName = "Scientist";
        PlayerJSON playerJSON = new PlayerJSON(playerName);
        string     data       = JsonUtility.ToJson(playerJSON);

        socket.Emit("play", new JSONObject(data));
    }
예제 #19
0
    IEnumerator JoinTheGame(object data)
    {
        Debug.Log("JoinGame");
        Debug.Log(data);


        yield return(new WaitForSeconds(0.3f));

        io.Emit("player connect");
        StartCoroutine(getTopScore());

        yield return(new WaitForSeconds(0.5f));

        UserJSON user = JsonUtility.FromJson <UserJSON>(data.ToString());


        canvas.gameObject.SetActive(false);
        c1.gameObject.SetActive(false);
        Vector3    position   = new Vector3(0, 5, 0);
        Quaternion rotation   = Quaternion.Euler(0, 0, 0);
        GameObject playerCstr = Instantiate(playerPrefab, position, rotation) as GameObject;



        Player pC = playerCstr.GetComponent <Player>();

        pC.isLocalPlayer   = true;
        pC.pseudo          = user.pseudo;
        pC.Hscore          = user.score;
        pC.Hscorehud.text  = "Highscore :" + user.score;
        pC.currentPosition = position;
        pC.currentRotation = rotation;

        string playerAsJson = PlayerJSON.CreateToJSON(pC);


        io.Emit("play", playerAsJson);

        Transform t          = playerCstr.transform.Find("Canvas");
        Transform t1         = t.transform.Find("pseudo");
        Text      playerName = t1.GetComponent <Text>();

        playerName.text = pC.pseudo;
        playerCstr.name = pC.pseudo;
        localName       = pC.pseudo;
        Debug.Log(playerName.text);
        Debug.Log(user.score);
        myPlayer = playerCstr;
    }
예제 #20
0
    private IEnumerator ConnectToServer()
    {
        yield return(new WaitForSeconds(.5f));

        socket.Emit("player connect");
        yield return(new WaitForSeconds(1f));

        string     playerName = GameObject.Find("if_name").GetComponent <InputField> ().text;
        Vector3    position   = MapInfo.Instance.GetRandomPosition();
        Quaternion rotation   = MapInfo.Instance.GetRandomRotation();
        PlayerJSON playerJSON = new PlayerJSON(playerName, position, rotation);
        string     data       = JsonUtility.ToJson(playerJSON);

        socket.Emit("join", new JSONObject(data));
    }
예제 #21
0
    //fierce-stream-59902.herokuapp.com

    public void UpdateHighScore(Player data)
    {
        Debug.Log(" before send highscore");
        Debug.Log(data);

        string playerAsJson = PlayerJSON.CreateToJSON(data);

        //io.Emit("updateHighScore", playerAsJson);

        byte[]          myfData = System.Text.Encoding.UTF8.GetBytes(playerAsJson);
        UnityWebRequest www     = UnityWebRequest.Put("https://fierce-stream-59902.herokuapp.com/user/score/", myfData);

        www.SetRequestHeader("Content-Type", "application/json");

        StartCoroutine(OnScoreResponse(www));
    }
예제 #22
0
    IEnumerator ConnectToServer()
    {
        yield return(new WaitForSeconds(0.5f));

        socket.Emit("player connect");

        yield return(new WaitForSeconds(1f));

        string playerName = playerNameInput.text;

        PlayerJSON playerJSON = new PlayerJSON(playerName, "Standby");
        string     data       = JsonUtility.ToJson(playerJSON);

        socket.Emit("play", new JSONObject(data));
        canvas.gameObject.SetActive(false);
    }
예제 #23
0
    private void OnPlayerConnect(SocketIOEvent socketIOEvent)
    {
        Debug.Log("Some one joined");
        string     data       = socketIOEvent.data.ToString();
        PlayerJSON playerJSON = PlayerJSON.CreateFromJSON(data);

        // check if he already join
        if (GameObject.Find(playerJSON.name) != null)
        {
            return;
        }
        GameObject       player = SpawnManager.Instance.SpawnPlayer(playerJSON.name, playerJSON.position.ToVector3(), playerJSON.rotation.Euler());
        PlayerController pc     = player.GetComponent <PlayerController> ();

        pc.isLocalPlayer = false;
    }
예제 #24
0
    IEnumerator ConnectToServer()
    {
        yield return(new WaitForSeconds(0.5f));

        socket.Emit("player connect");

        yield return(new WaitForSeconds(1));

        string playerName    = playerNameInput.text;
        bool   nameDuplicate = false;

        for (int i = 0; i < playerList.Count; i++)
        {
            if (playerList[i].name == playerName)
            {
                nameDuplicate = true;
            }
        }

        while (nameDuplicate)
        {
            playerName += "_";
            bool nameStillDuplicate = false;
            for (int i = 0; i < playerList.Count; i++)
            {
                if (playerList[i].name == playerName)
                {
                    nameStillDuplicate = true;
                }
            }
            if (!nameStillDuplicate)
            {
                nameDuplicate = false;
            }
        }

        playerNameInput.text = playerName;

        List <SpawnPoint> playerSpawnPoints = GetComponent <PlayerSpawner>().playerSpawnPoint;
        List <SpawnPoint> enemySpawnPoints  = GetComponent <EnemySpawner>().enemySpawnPoints;
        PlayerJSON        playerJSON        = new PlayerJSON(playerName, playerSpawnPoints, enemySpawnPoints);
        string            data = JsonUtility.ToJson(playerJSON);

        socket.Emit("play", new JSONObject(data));
        canvas.gameObject.SetActive(false);
    }
예제 #25
0
    IEnumerator ConnectToServer()
    {
        yield return(new WaitForSeconds(0.5f));

        socket.Emit("player connect");

        yield return(new WaitForSeconds(1f));

        string            playerName        = playerNameInput.text;
        List <SpawnPoint> playerSpawnPoints = GetComponent <PlayerSpawner>().playerSpawnPoints;
        List <SpawnPoint> enemySpawnPoints  = GetComponent <EnemySpawner>().enemySpawnPoints;
        PlayerJSON        playerJSON        = new PlayerJSON(playerName, playerSpawnPoints, enemySpawnPoints);
        string            data = JsonUtility.ToJson(playerJSON);

        socket.Emit("play", new JSONObject(data));
        canvas.gameObject.SetActive(false); // 取名后关闭UICanvas
    }
예제 #26
0
    public IEnumerator ConectarAlServidor()
    {
        print("Inicia la Conexión");
        yield return(new WaitForSeconds(0.5f));

        socket.Emit("conectar jugador");

        yield return(new WaitForSeconds(1f));

        string            nJugador          = Mathf.RoundToInt(slPersonaje.value).ToString() + nombreJugador.text;
        List <SpawnPoint> playerSpawnPoints = GetComponent <SpawnerJugadores>().spawnPointsJugadores;
        PlayerJSON        playerJSON        = new PlayerJSON(nJugador, playerSpawnPoints);
        string            data = JsonUtility.ToJson(playerJSON);

        socket.Emit("play", new JSONObject(data));
        canvas.gameObject.SetActive(false);
    }
예제 #27
0
    IEnumerator ConnectToServ()
    {
        yield return(new WaitForSeconds(0.5f));

        socket.Emit("player connect");
        yield return(new WaitForSeconds(1f));

        string            playerName        = playerNameInput.text;
        List <SpawnPoint> playerSpawnPoints = GetComponent <SpawnPlayer>().playerSpawnPoints;
        List <SpawnPoint> coinSpawnPoints   = GetComponent <SpawnCoins>().coinSpawnPoints;
        PlayerJSON        playerJSON        = new PlayerJSON(playerName, playerSpawnPoints, coinSpawnPoints);
        string            data = JsonUtility.ToJson(playerJSON);

        socket.Emit("play", new JSONObject(data));
        playerNameText.text = playerNameInput.text;
        canvas.gameObject.SetActive(false);
    }
예제 #28
0
    private IEnumerator OnScoreResponse(UnityWebRequest req)
    {
        yield return(req.Send());

        Debug.Log(" after send highscore");
        Debug.Log(req);
        if (req.isNetworkError || req.isHttpError)
        {
            Debug.Log(req.error);
        }
        else
        {
            Debug.Log("Upload complete!");
            Debug.Log(req.downloadHandler.text);
            string playerAsJson = PlayerJSON.CreateToJSON(myPlayer.GetComponent <Player>());
            io.Emit("updateHighScore", playerAsJson);
        }
    }
예제 #29
0
    // プレイヤー接続
    IEnumerator ConnectToServer()
    {
        yield return(new WaitForSeconds(0.5f));

        socket.Emit("player connect");

        yield return(new WaitForSeconds(1f));

        string playerName = "desktop";

        Debug.Log("Input name : " + playerName);
        PlayerSpawner ps = GetComponent <PlayerSpawner>();
        SpawnPoint    playerSpawnPoint    = ps.playerSpawnPoint;
        Vector3       playerSpawnPosition = playerSpawnPoint.spawnPosition;
        Quaternion    playerSpawnRotation = playerSpawnPoint.spawnRotation;
        GameObject    startMenuCamera     = GetComponent <GameObject>();

        PlayerJSON playerJSON = new PlayerJSON(playerName, playerSpawnPosition, playerSpawnRotation);
        string     data       = JsonUtility.ToJson(playerJSON);

        Debug.Log("playerJSON : " + data);
        socket.Emit("play", new JSONObject(data));
        Debug.Log("Emit : play");

        canvas.gameObject.SetActive(false);

        EnemySpawner es = GetComponent <EnemySpawner>();

        es.GenerateSpownPoints();
        List <SpawnPoint> enemySpawnPoints = es.GetComponent <EnemySpawner>().enemySpawnPoints;
        PlayersEnemyJSON  playersEnemyJSON = new PlayersEnemyJSON(playerName, enemySpawnPoints);

        WakizashiSpawner ws = GetComponent <WakizashiSpawner>();

        ws.GenerateSpownPoints();
        List <SpawnPoint>    wakizashiSpawnPoints = ws.GetComponent <WakizashiSpawner>().wakizashiSpawnPoints;
        PlayersWakizashiJSON playersWakizashiJSON = new PlayersWakizashiJSON(playerName, wakizashiSpawnPoints);

        string enemyData     = JsonUtility.ToJson(playersEnemyJSON);
        string wakizashiData = JsonUtility.ToJson(playersWakizashiJSON);

        socket.Emit("enemy", new JSONObject(enemyData));
        socket.Emit("wakizashi", new JSONObject(wakizashiData));
    }
예제 #30
0
    public void OnOtherPlayerConnected(SocketIOEvent socketIOEvent)
    {
        string data = socketIOEvent.data.ToString();

        Debug.Log(data);

        PlayerJSON otherplayerJSON = PlayerJSON.CreateFromJSON(data);

        Debug.Log("other player " + otherplayerJSON.pseudo + " is connected");
        Vector3    position = new Vector3(otherplayerJSON.position[0], otherplayerJSON.position[1], otherplayerJSON.position[2]);
        Quaternion rotation = Quaternion.Euler(otherplayerJSON.rotation[0], otherplayerJSON.rotation[1], otherplayerJSON.rotation[2]);
        GameObject o        = GameObject.Find(otherplayerJSON.pseudo) as GameObject;

        if (o != null)
        {
            Debug.Log(o);
            Debug.Log("this player exist already");
            return;
        }
        Debug.Log("this player is new ");
        GameObject op = Instantiate(otherPlayer, position, rotation) as GameObject;
        // here we are setting up their other fields name and if they are local

        Player opC = op.GetComponent <Player>();

        opC.pseudo = otherplayerJSON.pseudo;
        opC.Hscore = otherplayerJSON.Hscore;

        //var testr = op.GetComponent<UnityStandardAssets.Characters.FirstPerson.RigidbodyFirstPersonController> ();

        //Debug.Log(testr);

        //testr.enabled = false;
        Transform ot          = op.transform.Find("Canvas");
        Transform ot1         = ot.transform.Find("pseudo");
        Text      oplayerName = ot1.GetComponent <Text>();

        oplayerName.text  = otherplayerJSON.pseudo;
        opC.isLocalPlayer = false;
        op.name           = otherplayerJSON.pseudo;
        Debug.Log(opC.pseudo);
        Debug.Log(oplayerName.text);
    }
예제 #31
0
    public IJSON ToJSON()
    {
        PlayerJSON json = new PlayerJSON();
        json.username = playerName;
        json.connected = IsConnected;

        return json;
    }