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; } }
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(); } }
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; } } }
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); } }
// 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(); }