Exemple #1
0
    void AddPlayerToGame(OscMessage message)
    {
        if (gameEngine.debugMode)
        {
            Debug.Log("Received : " + message);
        }
        int playerID = message.GetInt(0);

        UserRole userRole;
        int      playerRole = message.GetInt(1);

        if (playerRole == 1)
        {
            userRole = UserRole.Player;
        }
        else if (playerRole == 2)
        {
            userRole = UserRole.Tracker;
        }
        else
        {
            userRole = UserRole.Viewer;
        }

        string playerName = message.GetString(2);
        int    rank       = message.GetInt(3);

        if ((gameEngine._userRole == UserRole.Player || gameEngine._userRole == UserRole.Viewer || gameEngine._userRole == UserRole.Tracker) && playerID != gameEngine._user._ID)
        {
            Debug.Log(playerID + " vs " + gameEngine._user._ID);
            userManager.AddNewUser(gameEngine, playerID, playerName, "null", -1, userRole, rank);
            gameEngine.userManager.ChangeVisualisationMode(gameEngine.currentVisualisationMode, gameEngine, false); // trigger the change mode again, to actualize to new players
        }
    }
Exemple #2
0
    void OnReceiveXYZ(OscMessage message)
    {
        float x = message.GetInt(0);
        float y = message.GetInt(1);
        float z = message.GetInt(2);

        transform.position = new Vector3(x, y, z);
    }
Exemple #3
0
    void OnReceiveXYZ(OscMessage message)
    {
        float x = message.GetInt(0);
        float y = message.GetInt(1);
        float z = message.GetInt(2);

        Debug.Log(x.ToString());

        // transform.position = new Vector3(x,y,z);
    }
Exemple #4
0
    void PlaneFunc(OscMessage msg)
    {
        int   x      = msg.GetInt(0);
        int   y      = msg.GetInt(1);
        int   z      = msg.GetInt(2);
        float degree = msg.GetInt(3);
        float amp    = msg.GetFloat(4) * scaleAmp;

        clones[x + (y * numX)].localScale = new Vector3(amp, amp, amp);
    }
 void setListaModelos(OscMessage m)
 {
     string[] nombres_modelos = new string[m.GetInt(0)];
     Debug.Log(m.GetInt(0));
     for (int i = 0; i < nombres_modelos.Length; i++)
     {
         nombres_modelos[i] = m.GetString(1 + i);
         Debug.Log(m.GetString(1 + i));
     }
     info.setModelos(nombres_modelos);
 }
Exemple #6
0
    void EnvironmentChangedByServer(OscMessage message)
    {
        if (gameEngine.debugMode)
        {
            Debug.Log("Received : " + message);
        }

        string envType = message.GetString(0);
        int    val     = message.GetInt(1);

        if (envType == "mirror")
        {
            gameEngine.scenarioEvents.ToggleMirror(val == 1, 0, message.GetInt(2));
        }
    }
Exemple #7
0
/*
 *  -------------------------------------
 *  -----------SERVER FUNCTIONS----------
 *  -------------------------------------
 */


    // server side
    void RegistationRequestedFromPlayer(OscMessage message)
    {
        if (gameEngine.debugMode)
        {
            Debug.Log("Received : " + message);
        }

        if (gameEngine._userRole == UserRole.Server)
        {
            int playerID = message.GetInt(0);

            int    requestedPort = message.GetInt(1);
            string playerIP      = message.GetString(2);

            UserRole role;
            int      isPlayer = message.GetInt(3);
            if (isPlayer == 1)
            {
                role = UserRole.Player;
            }
            else if (isPlayer == 2)
            {
                role = UserRole.Tracker;
            }
            else
            {
                role = UserRole.Viewer;
            }

            string playerName = message.GetString(4);

            bool available = gameEngine.networkManager.CheckAvailability(userManager, requestedPort, playerIP, gameEngine.gameData.runInLocal);

            if (available)
            {
                UserData user = userManager.AddNewUser(gameEngine, playerID, playerName, playerIP, requestedPort, role, userManager.CountPlayers());
                if (role == UserRole.Player)
                {
                    sender.AddNewPlayerToClientsGames(playerID, playerName, userManager.usersPlaying, isPlayer, userManager.usersPlaying.Count - 1); // minus1 because server had already added user in list
                }
                sender.SendRegistrationConfirmation(user);
            }
            else
            {
                sender.RefuseRegistration(playerIP, requestedPort);
            }
        }
    }
Exemple #8
0
    void CrearPersona2(OscMessage m)
    {
        Debug.Log("Sucediendo 2");
        GameObject p = Instantiate(prePersonPrefab, new Vector3(0, 0, -0.1f), Quaternion.identity);

        p.GetComponent <persona>().Configurar(osc, Mathf.RoundToInt(m.GetInt(0)), 2);
    }
Exemple #9
0
    public void UpdateActiveRegionInUI(OscMessage msg)
    {
        OSCReceiveCVInfo.ActiveRegion activeReg = (OSCReceiveCVInfo.ActiveRegion)msg.GetInt(0);
        string region = "";

        switch (activeReg)
        {
        case OSCReceiveCVInfo.ActiveRegion.nothing:
            region = "Nothing";
            break;

        case OSCReceiveCVInfo.ActiveRegion.left:
            region = "Left";
            break;

        case OSCReceiveCVInfo.ActiveRegion.center:
            region = "Center";
            break;

        case OSCReceiveCVInfo.ActiveRegion.right:
            region = "Right";
            break;

        default:
            region = "Raro";
            break;
        }

        txt.text = region;
    }
Exemple #10
0
    void OnReceiveState(OscMessage message)
    {
        int state = message.GetInt(0);

        PlayerManager.S.gameState = state;
        Debug.Log(state);
    }
Exemple #11
0
    void OnReceiveScore1(OscMessage message)
    {
        int x = message.GetInt(0);

        GameManagementScript.S.score [1]++;
        Debug.Log("Employee #1: " + x);
    }
Exemple #12
0
 public void Desconectar(OscMessage m)
 {
     if (m.GetInt(0) == id)
     {
         Apagar();
     }
 }
Exemple #13
0
    void OnInt(OscMessage message)
    {
        int v  = message.GetInt(0);
        var ps = this.GetComponent <ParticleSystem> ().main;

        ps.maxParticles = v;
    }
Exemple #14
0
    void CalibrationChange(OscMessage message)
    {
        Debug.Log(message);
        int ID = message.GetInt(0);

        foreach (UserData user in userManager.usersPlaying)
        {
            if (user._ID == ID)
            {
                Vector3 calibVec = new Vector3(message.GetFloat(1), 0, message.GetFloat(2));

                if (userManager.me._ID == user._ID && gameEngine.useVRHeadset && calibVec != Vector3.zero)
                { // if me with headset
                    GameObject viveParent = GameObject.Find("XRRig");
                    GameObject camera     = viveParent.transform.Find("head").gameObject;
                    viveParent.transform.position += user.calibrationPositionGap - new Vector3(camera.transform.position.x, 0, camera.transform.position.z)
                                                     + gameEngine.scenarioEvents.calibrationTransforms[user._registeredRank].transform.position;
                }
                else
                { // if me without headset or not me
                    user.calibrationPositionGap = calibVec;
                }
                //break;
            }
        }
    }
    void Cam2TotemEntered(OscMessage m)
    {
        int idTotem = m.GetInt(0);

        if (idTotem == 1)
        {
            totem1.GetComponent <totem>().SetTrackeando(2);
            totem1.GetComponent <totem>().ActualizarTotemOsc(m.GetFloat(1), m.GetFloat(2), m.GetFloat(3));
        }
        else if (idTotem == 2)
        {
            totem2.GetComponent <totem>().SetTrackeando(2);
            totem2.GetComponent <totem>().ActualizarTotemOsc(m.GetFloat(1), m.GetFloat(2), m.GetFloat(3));
        }
        else if (idTotem == 3)
        {
            totem3.GetComponent <totem>().SetTrackeando(2);
            totem3.GetComponent <totem>().ActualizarTotemOsc(m.GetFloat(1), m.GetFloat(2), m.GetFloat(3));
        }
        else if (idTotem == 4)
        {
            totem4.GetComponent <totem>().SetTrackeando(2);
            totem4.GetComponent <totem>().ActualizarTotemOsc(m.GetFloat(1), m.GetFloat(2), m.GetFloat(3));
        }
    }
    SphereType DecodeOscMessage_UpdateSphereType(OscMessage message)
    {
        // TODO: clean up and separate

        int   id         = message.GetInt(0);
        float scale      = message.GetFloat(1);
        float bounciness = message.GetFloat(2);
        float mass       = message.GetFloat(3);

        // reading audio file string from OscMessage
        string audioFile = GetStringFromBinary(4, message);

        SphereType sphereType;

        try
        {
            sphereType = new SphereType(id, scale, bounciness, audioFile, mass);
        }
        catch
        {
            // return default sphere
            app.Notify(Notification.LogError, "Sphere type not updated.");
            sphereType = new SphereType();
        }

        return(sphereType);
    }
Exemple #17
0
    void VisualisationModeChange(OscMessage message)
    {
        Debug.Log("Received : " + message);
        string mode   = message.GetString(0);
        int    toFade = message.GetInt(1);

        userManager.ChangeVisualisationMode(mode, gameEngine, toFade == 1);
    }
Exemple #18
0
    // stub that is called when receiving an OSC /scene message
    void OnReceive(OscMessage message)
    {
        // get the scene number
        sceneNumber = message.GetInt(0);

        // update the scene number on the text
        sceneText.text = sceneNumber.ToString();
    }
Exemple #19
0
    void UpdateTrailsVisualisation(OscMessage message)
    {
        //
        int   valueId = message.GetInt(0);
        float value   = message.GetFloat(1);

        userManager.ChangeVisualisationParameter(valueId, value);
    }
    void UpdateSurfaceTypeOsc(OscMessage message)
    {
        int   id = message.GetInt(0);
        float dynamicFriction = message.GetFloat(1);
        float staticFriction  = message.GetFloat(2);
        float bounciness      = message.GetFloat(3);

        UpdateSurfaceType(id, dynamicFriction, staticFriction, bounciness);
    }
Exemple #21
0
    void RemovePlayerFromGame(OscMessage message)
    {
        if (gameEngine.debugMode)
        {
            Debug.Log("Received : " + message);
        }
        int playerID = message.GetInt(0);

        userManager.ErasePlayer(playerID);
    }
Exemple #22
0
    public void StartAudioRecording(OscMessage message)
    {
        Debug.Log(message);
        int audioLenght = message.GetInt(0);

        if (userManager.me._userRole == UserRole.Player)
        {
            gameEngine.soundHandler.Launch(audioLenght);
        }
    }
Exemple #23
0
    void ErasePlayerRequest(OscMessage message)
    {
        if (gameEngine.debugMode)
        {
            Debug.Log("Received : " + message);
        }
        int playerID = message.GetInt(0);

        userManager.ErasePlayer(playerID);
        osc.sender.RemovePlayerInClientsGame(playerID, userManager.usersPlaying);
    }
    void setListaPartes(OscMessage m)
    {
        string nombre_modelo_actual = m.GetString(0);

        string[] nombres_partes = new string[m.GetInt(1)];
        for (int i = 0; i < nombres_partes.Length; i++)
        {
            nombres_partes[i] = m.GetString(2 + i);
        }
        info.setPartes(nombre_modelo_actual, nombres_partes);
    }
 private void selectCamera(OscMessage om, int n)
 {
     if (om.GetInt(0) == 1)
     {
         WebCamDevice[] devices = WebCamTexture.devices;
         if (n < devices.Length)
         {
             webcamTexture.Stop();
             webcamTexture.deviceName = devices[n].name;
             webcamTexture.Play();
         }
     }
 }
    string GetStringFromBinary(int startIndex, OscMessage binaryMessage)
    {
        StringBuilder stringBuilder = new StringBuilder();

        // build string from the rest of the messages
        for (int char_index = startIndex; char_index < binaryMessage.values.Count; char_index++)
        {
            char af_char = (char)binaryMessage.GetInt((int)char_index);
            stringBuilder.Append(af_char);
        }

        return(stringBuilder.ToString());
    }
Exemple #27
0
    // triggered for each osc position message received (3 per player)
    void UpdatePartnerPosition(OscMessage message)
    {
        if (gameEngine.debugMode)
        {
            Debug.Log("Received : " + message);
        }

        int    playerID       = message.GetInt(0);
        int    registeredRank = message.GetInt(1);
        string playerPart     = "none";

        if (message.GetInt(2) == 0)
        {
            playerPart = "Head";
        }
        else if (message.GetInt(2) == 1)
        {
            playerPart = "LeftHand";
        }
        else if (message.GetInt(2) == 2)
        {
            playerPart = "RightHand";
        }
        float xPos = message.GetFloat(3);
        float yPos = message.GetFloat(4);
        float zPos = message.GetFloat(5);
        float xRot = message.GetFloat(6);
        float yRot = message.GetFloat(7);
        float zRot = message.GetFloat(8);
        float wRot = message.GetFloat(9);

        if (playerID != gameEngine._user._ID) // if is not me
        {
            userManager.pendingPositionsActualizations[playerID + playerPart] = new Vector3(xPos, yPos, zPos);
            userManager.pendingRotationsActualizations[playerID + playerPart] = new Quaternion(xRot, yRot, zRot, wRot);
        }
    }
    void OnReceiveXYZ(OscMessage message)
    {
        _strengthOfAttraction = message.GetInt(0);
        _audioEmissionmult    = message.GetInt(1);
        int r = message.GetInt(2);
        int g = message.GetInt(3);
        int b = message.GetInt(4);
        // int z = message.GetInt (2);

        int countAtom = 0;

        for (int i = 0; i < _attractToPoints.Length; i++)
        {
            for (int j = 0; j < _numberOfAtoms; j++)
            {
                _atomArr[countAtom].GetComponent <attractTo> ()._strength = _strengthOfAttraction;

                countAtom++;
            }
            _sharedColor[i].r = (float)r / 256f;
            _sharedColor[i].g = (float)g / 256f;
            _sharedColor[i].b = (float)b / 256;
        }
    }
Exemple #29
0
    void OnReceive(OscMessage message)
    {
        // get the scene number
        sceneNumber = message.GetInt(0);

        // update the scene number on the text
        sceneText.text = sceneNumber.ToString();

        // disappear and reappear elements on the screen based on the scene number
        switch (sceneNumber)
        {
        case 1:
            // play video
            //video.Play();
            playVideo = true;

            // make middle cube appear (1)
            cube1.enabled = true;

            break;

        case 2:
            // make right cube appear (3)
            cube3.enabled = true;

            break;

        case 3:
            // make left cube appear (2)
            cube2.enabled = true;

            break;

        case 4:
            // kill video
            //video.Stop();
            playVideo = false;


            // disappear all the cubes
            cube1.enabled = false;
            cube2.enabled = false;
            cube3.enabled = false;

            break;
        }
    }
Exemple #30
0
    public void OnReceiveClimax(OscMessage message)
    {
        lastClimax = 0;

        float state = message.GetInt(0);

        if (state == 1 && !oneTimeClimax)
        {
            oneTimeClimax = true;
            print("Climax Started");
            WaveController.KillWave();
            ClimaxController.StartClimax();
        }

        if (state == 0)
        {
            oneTimeClimax = false;
        }
    }