Esempio n. 1
0
    public void StartDrug()
    {
        offDrugsReached = false;
        acceleration    = max_acceleration * 0.5f;
        deceleration    = max_deceleration * 0.33f;
        player_context  = PLAYER_CONTEXT.START_DRUGS;
        anim.SetBool("flying", true);

        stars_roads[(int)player_trips].SetActive(true);

        Transform[] childs = stars_roads[(int)player_trips].GetComponentsInChildren <Transform>(true);
        foreach (Transform star in childs)
        {
            star.gameObject.SetActive(true);
        }

        if (player_trips == 0)
        {
            first_trip_music.Play();
            first_trip_music.volume = 0.0f;
        }
        else
        {
            trip_music.Play();
            trip_music.volume = 0.0f;
        }
    }
Esempio n. 2
0
    public void FinishDrug()
    {
        acceleration   = max_acceleration;
        deceleration   = max_deceleration;
        gravity        = initial_gravity;
        player_context = PLAYER_CONTEXT.FREE;

        chromaticFadeCount = 0.0f;

        if (player_trips != PLAYER_STATE.FOURTH_STATE)
        {
            chromaticSettings.intensity            = 0.0f;
            profilePP.chromaticAberration.settings = chromaticSettings;
            bloomSettings.bloom.softKnee           = 0.0f;
            profilePP.bloom.settings = bloomSettings;
            tripOffDrugsChromatic    = true;
        }
        stars_roads[(int)player_trips].SetActive(false);

        transform.position = new Vector3(transform.position.x, floor, transform.position.z);

        Transform[] childs = stars_roads[(int)player_trips].GetComponentsInChildren <Transform>(true);
        foreach (Transform star in childs)
        {
            star.gameObject.SetActive(false);
        }

        if (player_trips == PLAYER_STATE.FOURTH_STATE)
        {
            anim.SetBool("flying", false);
            anim.SetBool("die", true);
            player_context = PLAYER_CONTEXT.DEAD;
            return;
        }

        player_trips++;
        anim.SetInteger("Player_State", (int)player_trips);
        anim.SetBool("flying", false);

        if (first_trip_music.isPlaying)
        {
            first_trip_music.Stop();
        }

        if (trip_music.isPlaying)
        {
            trip_music.Stop();
        }
    }
Esempio n. 3
0
    void OnTriggerEnter(Collider other)
    {
        if (other.CompareTag("Collectable"))
        {
            // PP chromatic aberration
            if (player_context != PLAYER_CONTEXT.OFF_DRUGS)
            {
                if (vignetteSettings.intensity != vignetteIntensity && player_context == PLAYER_CONTEXT.ON_DRUGS)
                {
                    vignetteSettings.intensity  = vignetteIntensity;
                    profilePP.vignette.settings = vignetteSettings;
                }
                if (trips[player_trips] == second_trip || trips[player_trips] == first_trip)
                {
                    chromaticFadeCount                    += 0.3f;
                    chromaticSettings.intensity            = chromaticFadeCount;
                    profilePP.chromaticAberration.settings = chromaticSettings;
                }
                magicNumber = 0.05f;
                if (trips[player_trips] == third_trip || trips[player_trips] == fourth_trip)
                {
                    if (chromaticFadeCount < thirdTripChromatic && trips[player_trips] == third_trip)
                    {
                        chromaticFadeCount                    += 0.5f;
                        chromaticSettings.intensity            = chromaticFadeCount;
                        profilePP.chromaticAberration.settings = chromaticSettings;
                    }
                    else if (chromaticFadeCount < fourthTripChromatic && trips[player_trips] == fourth_trip)
                    {
                        chromaticFadeCount                    += 0.5f;
                        chromaticSettings.intensity            = chromaticFadeCount;
                        profilePP.chromaticAberration.settings = chromaticSettings;
                    }
                    magicNumber = 0.5f;
                }
            }
            else
            {
                chromaticFadeCount                    += 0.05f;
                chromaticSettings.intensity            = chromaticFadeCount;
                profilePP.chromaticAberration.settings = chromaticSettings;
            }

            //Collectable music
            PickSound().Play();


            //Impulse player when picks up a star
            if (player_context == PLAYER_CONTEXT.ON_DRUGS)
            {
                impulsed          = true;
                impulse_variation = 0.0f;
                anim.SetBool("swimming", true);
            }

            other.gameObject.SetActive(false);
        }

        if (other.CompareTag("NPC"))
        {
            able_to_talk = true;
            npc_to_talk  = other.GetComponent <NPC>();

            if (player_context == PLAYER_CONTEXT.FREE)
            {
                Transform[] childs = other.GetComponentsInChildren <Transform>(true);

                foreach (Transform child in childs)
                {
                    if (child.CompareTag("DialogueLoad"))
                    {
                        child.gameObject.SetActive(true);
                    }
                }
            }
        }
        if (other.CompareTag("endTrip"))
        {
            offDrugsReached = true;
        }

        if (other.CompareTag("cloudCollider"))
        {
            if (player_trips == PLAYER_STATE.FOURTH_STATE)
            {
                anim.SetBool("flying", false);
                anim.SetBool("die", true);
                player_context = PLAYER_CONTEXT.DEAD;
                return;
            }
        }
    }
Esempio n. 4
0
    void HandleA()
    {
        switch (player_context)
        {
        case PLAYER_CONTEXT.FREE:

            if (Input.GetKeyDown(KeyCode.JoystickButton0) || Input.GetKeyDown(KeyCode.E))
            {
                if (able_to_talk)
                {
                    current_speed  = 0.0f;
                    player_context = PLAYER_CONTEXT.TALKING;
                    anim.SetBool("Idle", true);
                    npc_to_talk.TriggerDialogue();
                    npc_to_talk.talked = true;
                    //Debug.Log("Start talking");
                }
            }
            else if (drugPicked == true && (Input.GetKey(KeyCode.Joystick1Button3) || Input.GetKeyDown(KeyCode.Q)))
            {
                //Disable enjoy tutorial
                drugPicked = false;
                enjoyController.SetActive(false);
                enjoyPC.SetActive(false);

                //Reset npc
                NPC[] npcs = FindObjectsOfType <NPC>();
                foreach (NPC npc in npcs)
                {
                    npc.talked = false;
                }

                //Drug effects
                pick_star_fx[0].Play();
                anim.SetBool("Idle", true);
                StartDrug();
            }

            break;

        case PLAYER_CONTEXT.ON_DRUGS:

            if (player_context != PLAYER_CONTEXT.ON_DRUGS)
            {
                return;
            }

            if (Input.GetKeyDown(KeyCode.JoystickButton0) || Input.GetKeyDown(KeyCode.Space))
            {
                if (!impulsed)
                {
                    impulsed          = true;
                    impulse_variation = 0.0f;
                    anim.SetBool("swimming", true);
                }
            }

            break;

        case PLAYER_CONTEXT.TALKING:

            if (Input.GetKeyDown(KeyCode.JoystickButton0) || Input.GetKeyDown(KeyCode.E) || Input.GetKeyDown(KeyCode.Space) || Input.GetKeyDown(KeyCode.Return))
            {
                //Close or next sentence
                if (dialogue_manager.dialog_finished)
                {
                    player_context = PLAYER_CONTEXT.FREE;
                    dialogue_manager.EndDialogue();
                }
                else
                {
                    if (dialogue_manager.sentence_finished)
                    {
                        dialogue_manager.DisplayNextSentence();
                    }
                }
            }

            if (Input.GetKey(KeyCode.JoystickButton0) || Input.GetKey(KeyCode.E) || Input.GetKey(KeyCode.Space) || Input.GetKey(KeyCode.Return))
            {
                //Pass text faster
                dialogue_manager.FasterLetters();
            }

            if (Input.GetKeyUp(KeyCode.JoystickButton0) || Input.GetKeyUp(KeyCode.E) || Input.GetKeyUp(KeyCode.Space) || Input.GetKeyUp(KeyCode.Return))
            {
                //Pass text faster
                dialogue_manager.SlowLetters();
            }

            break;
        }

        if (impulsed == true)
        {
            current_impulse    = Mathf.Abs(Mathf.Cos(impulse_variation)) * max_impulse;
            impulse_variation += impulse_increment;

            if (impulse_variation >= (Mathf.PI * 0.5f))
            {
                impulse_variation = 0.0f;
                current_impulse   = 0.0f;
                impulsed          = false;
                anim.SetBool("swimming", false);
            }

            //Debug.Log("To the sky" + current_impulse);
        }
    }
Esempio n. 5
0
    // Update is called once per frame
    void Update()
    {
        HandleInput();
        Tutorial();
        //Shader and PP
        if (tripOffDrugs == false && shaderFadeCount != 0.0f)
        {
            OffTripShader();
        }
        if (tripOffDrugsChromatic == false && chromaticFadeCount != 0.0f)
        {
            OffTripChromaticPP();
        }

        if (player_context == PLAYER_CONTEXT.ON_DRUGS)
        {
            //Shader and PP
            SetTripChromaticPP();
            // --------------------------------------
            if (transform.position.y <= 4.0f)
            {
                waving = true;
            }

            if (transform.position.y >= 5.5f)
            {
                waving = false;
            }

            if (waving == false)
            {
                current_impulse = current_impulse - gravity;

                transform.Translate(0.0f, (current_impulse * Time.deltaTime), 0.0f);
                current_impulse = Mathf.Clamp(current_impulse, 0.0f, max_impulse);

                tmp = 0.0f;
            }
            else
            {
                transform.Translate(0.0f, (current_impulse * Time.deltaTime) - (initial_gravity * Time.deltaTime) + (Mathf.Pow(Mathf.Abs(Mathf.Sin(tmp)) * 1.5f, 2) * Time.deltaTime), 0.0f);
                tmp += Time.deltaTime;
            }

            //Trip end
            if (offDrugsReached == true || trip_timer >= trips[player_trips])
            {
                //Shader and PP
                tripOffDrugs          = false;
                tripOffDrugsChromatic = false;
                // --------------------------------------

                player_context = PLAYER_CONTEXT.OFF_DRUGS;
                rave_music.Play();
                rave_music.volume = 0.0f;
                offDrugsReached   = false;
                trip_timer        = 0.0f;
            }
            else
            {
                trip_timer += Time.deltaTime;
            }

            //Debug.Log(waving);
        }

        if (player_context == PLAYER_CONTEXT.START_DRUGS)
        {
            //Tutorial jump
            if (alreadyShownJump == false)
            {
                if (UsingControllerIsActive.activeSelf)
                {
                    jumpController.SetActive(true);
                }
                else
                {
                    jumpPC.SetActive(true);
                }
                alreadyShownJump = true;
            }

            //Shader and PP
            SetTripShader();
            SetTripChromaticPP();

            /*bloomSettings.bloom.softKnee = 0.3f;
             * profilePP.bloom.settings = bloomSettings;*/
            // --------------------------------------

            current_impulse    = Mathf.Abs(Mathf.Cos(impulse_variation)) * max_impulse * 0.75f;
            impulse_variation += impulse_increment;

            transform.Translate(0.0f, (current_impulse * Time.deltaTime) - (gravity * Time.deltaTime), 0.0f);

            if (transform.position.y >= 4.0f)
            {
                player_context = PLAYER_CONTEXT.ON_DRUGS;
                rave_music.Stop();
            }

            rave_music.volume -= 1 * Time.deltaTime;
            rave_music.volume  = Mathf.Clamp(rave_music.volume, 0.0f, 1.0f);

            if (player_trips == 0)
            {
                first_trip_music.volume += 1 * Time.deltaTime;
                first_trip_music.volume  = Mathf.Clamp(first_trip_music.volume, 0.0f, 1.0f);
            }
            else
            {
                trip_music.volume += 1 * Time.deltaTime;
                trip_music.volume  = Mathf.Clamp(trip_music.volume, 0.0f, 1.0f);
            }
        }

        if (player_context == PLAYER_CONTEXT.OFF_DRUGS)
        {
            //Tutorial jump
            if (UsingControllerIsActive.activeSelf)
            {
                jumpController.SetActive(false);
            }
            else
            {
                jumpPC.SetActive(false);
            }

            anim.SetBool("falling", true);
            float distance_to_floor = transform.position.y - floor;

            if (distance_to_floor < distance_to_slow)
            {
                anim.SetBool("falling", false);
                distance_to_floor /= distance_to_slow;

                //Music
                if (player_trips != PLAYER_STATE.FOURTH_STATE)
                {
                    rave_music.volume += 1 * Time.deltaTime;
                    rave_music.volume  = Mathf.Clamp(rave_music.volume, 0.0f, 1.0f);

                    if (player_trips == 0)
                    {
                        first_trip_music.volume -= 1 * Time.deltaTime;
                        first_trip_music.volume  = Mathf.Clamp(first_trip_music.volume, 0.0f, 1.0f);
                    }
                    else
                    {
                        trip_music.volume -= 1 * Time.deltaTime;
                        trip_music.volume  = Mathf.Clamp(trip_music.volume, 0.0f, 1.0f);
                    }
                }

                //Debug.Log(distance_to_floor);
            }
            else
            {
                distance_to_floor = 1.0f;
            }

            transform.Translate(0.0f, (current_impulse * Time.deltaTime) - (gravity * Time.deltaTime * distance_to_floor), 0.0f);

            gravity = (gravity + (Time.deltaTime * slow_factor));
            gravity = Mathf.Clamp(gravity, 0.0f, max_gravity);

            if (distance_to_floor < 0.005f)
            {
                FinishDrug();
            }
        }

        if (player_context == PLAYER_CONTEXT.DEAD)
        {
            if (dead_timer >= 8.0f)
            {
                if (language.text == "English")
                {
                    SceneManager.LoadScene("TheEndEN");
                }
                else
                {
                    SceneManager.LoadScene("TheEnd");
                }
            }
            else
            {
                trip_music.volume -= 0.005f * Time.deltaTime;
                dead_timer        += Time.deltaTime;
            }
        }

        //Debug keys
        DebugPlayer();
    }