// Start is called before the first frame update void Start() { vehicleBehavior = FindObjectOfType <VehicleBehavior>(); ui_Controller = FindObjectOfType <ui_controller>(); Wheel_Detach = gameObject.GetComponentInChildren <Player_Wheel_Detach>(); forceField = gameObject.GetComponentInChildren <ForceField>(); //dF = GetComponent<Rigidbody>(); }
private void OnTriggerEnter(Collider c) { //get the scripts for the players VehicleBehavior car = player.GetComponentInChildren <VehicleBehavior>(); Player_Wheel_Detach wheels = player.GetComponentInChildren <Player_Wheel_Detach>(); ui_controller headsUp = hud.GetComponentInChildren <ui_controller>(); retry = true; while (retry) { if (headsUp.has_tire_1 == true && headsUp.has_tire_2 == true && headsUp.has_tire_3 == true && headsUp.has_tire_4 == true && headsUp.has_hood == true) { //if this is true, then it nullifies the script return; } if (c.gameObject.name == "PickupCollider") { partBack = Random.Range(0, wheels.reservePartsList.Count); if (wheels.reservePartsList[partBack] == 2) { car.wheel4.SetActive(true); wheels.wheel_destroy1.SetActive(true); headsUp.has_tire_2 = true; wheels.reservePartsList.Remove(2); headsUp.ui_item[0].gameObject.SetActive(true); Debug.Log("FL wheel replenished"); } else if (wheels.reservePartsList[partBack] == 1) { car.wheel3.SetActive(true); wheels.wheel_destroy2.SetActive(true); headsUp.has_tire_1 = true; wheels.reservePartsList.Remove(1); Debug.Log("FR wheel replenished"); headsUp.ui_item[2].gameObject.SetActive(true); } else if (wheels.reservePartsList[partBack] == 4) { car.wheel2.SetActive(true); wheels.wheel_destroy3.SetActive(true); headsUp.has_tire_4 = true; wheels.reservePartsList.Remove(4); Debug.Log("RL wheel replenished"); headsUp.ui_item[5].gameObject.SetActive(true); } else if (wheels.reservePartsList[partBack] == 3) { car.wheel1.SetActive(true); wheels.wheel_destroy4.SetActive(true); headsUp.has_tire_3 = true; wheels.reservePartsList.Remove(3); Debug.Log("RR wheel replenished"); headsUp.ui_item[6].gameObject.SetActive(true); } else { Debug.Log("Not supposed to show"); break; } retry = false; } else { //it needs to hit a specific part of the car, otherwise, this activates Debug.Log("Collider Not Hit"); return; } } Destroy(gameObject); }
private void OnTriggerEnter(Collider c) { if (c.gameObject.tag == "GameController") { AudioManager.instance.Play("Collectible_Sound"); ThisCollider = c; player = c.gameObject; car = player.GetComponentInChildren <VehicleBehavior>(); wheels = player.GetComponentInChildren <Player_Wheel_Detach>(); headsUp = c.gameObject.GetComponentInChildren <VehicleBehavior>().playerHUD.GetComponentInChildren <ui_controller>(); if (headsUp) { Debug.Log("HEADS UP: " + headsUp); } else { Debug.Log("NO HEADS UP"); } Debug.Log("Cody Test"); } //get the scripts for the players //VehicleBehavior car = player.GetComponentInChildren<VehicleBehavior>(); //Player_Wheel_Detach wheels = player.GetComponentInChildren<Player_Wheel_Detach>(); //ui_controller headsUp = hud.GetComponentInChildren<ui_controller>(); // while (retry) // { if (headsUp) { AVerySimpleEnumOfCharacters character = headsUp.GetCharacter(); if (upType == PickUpType.Tires) { if (headsUp.has_tire_1 == true && headsUp.has_tire_2 == true && headsUp.has_tire_3 == true && headsUp.has_tire_4 == true) { spawner.Timer = Time.time + 5.0f; gameObject.SetActive(false); //if this is true, then it nullifies the script return; } if (c.gameObject.CompareTag("GameController")) { AudioManager.instance.Play("Collectible_Sound"); partBack = Random.Range(0, wheels.reservePartsList.Count); if (wheels.reservePartsList[partBack] == 2) { car.wheel4.SetActive(true); wheels.wheel_destroy1.SetActive(true); // headsUp.has_tire_2 = true; wheels.reservePartsList.Remove(2); // headsUp.ui_item[0].gameObject.SetActive(true); headsUp.RegainPart(5); Debug.Log("FR wheel replenished"); } else if (wheels.reservePartsList[partBack] == 1) { car.wheel3.SetActive(true); wheels.wheel_destroy2.SetActive(true); // headsUp.has_tire_1 = true; wheels.reservePartsList.Remove(1); Debug.Log("FL wheel replenished"); // headsUp.ui_item[2].gameObject.SetActive(true); headsUp.RegainPart(7); } else if (wheels.reservePartsList[partBack] == 4) { car.wheel2.SetActive(true); wheels.wheel_destroy3.SetActive(true); // headsUp.has_tire_4 = true; wheels.reservePartsList.Remove(4); Debug.Log("RL wheel replenished"); // headsUp.ui_item[5].gameObject.SetActive(true); headsUp.RegainPart(0); } else if (wheels.reservePartsList[partBack] == 3) { car.wheel1.SetActive(true); wheels.wheel_destroy4.SetActive(true); // headsUp.has_tire_3 = true; wheels.reservePartsList.Remove(3); Debug.Log("RR wheel replenished"); // headsUp.ui_item[7].gameObject.SetActive(true); headsUp.RegainPart(2); } else { Debug.Log("Not supposed to show"); // break; } spawner.Timer = Time.time + 5.0f; gameObject.SetActive(false); } else { //it needs to hit a specific part of the car, otherwise, this activates Debug.Log("Collider Not Hit"); return; } } else if (upType == PickUpType.Nitro) { if (c.gameObject.CompareTag("GameController")) { AudioManager.instance.Play("Collectible_Sound"); if (car.nitros_meter_float + nitroPickUp > car.max_nitros_meter_float) { if (character == AVerySimpleEnumOfCharacters.Felix || character == AVerySimpleEnumOfCharacters.Toby) { float dif = car.max_nitros_meter_float - car.nitros_meter_float; car.nitros_meter_float = car.max_nitros_meter_float; car.extra_nitros_meter_float += (nitroPickUp - dif); if (car.extra_nitros_meter_float > 50 && character == AVerySimpleEnumOfCharacters.Felix) { car.extra_nitros_meter_float = 50; } else if (car.extra_nitros_meter_float > 25 && character == AVerySimpleEnumOfCharacters.Toby) { car.extra_nitros_meter_float = 25; } } else { car.nitros_meter_float = car.max_nitros_meter_float; } } else { car.nitros_meter_float += nitroPickUp; } spawner.Timer = Time.time + 5.0f; gameObject.SetActive(false); } } else if (upType == PickUpType.Character) { switch (character) { case AVerySimpleEnumOfCharacters.Felix: if (headsUp.has_door_1 == true && headsUp.has_door_2 == true) { spawner.Timer = Time.time + 5.0f; gameObject.SetActive(false); //if this is true, then it nullifies the script return; } break; case AVerySimpleEnumOfCharacters.Maxine: if (headsUp.has_door_1 == true && headsUp.has_extra1 == true && headsUp.has_extra2 == true && headsUp.has_door_2 == true) { spawner.Timer = Time.time + 5.0f; gameObject.SetActive(false); //if this is true, then it nullifies the script return; } break; case AVerySimpleEnumOfCharacters.Paul: if (headsUp.has_door_1 == true && headsUp.has_Shield == true && headsUp.has_door_2 == true) { spawner.Timer = Time.time + 5.0f; gameObject.SetActive(false); //if this is true, then it nullifies the script return; } break; case AVerySimpleEnumOfCharacters.Toby: if (headsUp.has_door_1 == true && headsUp.has_extra1 == true && headsUp.has_door_2 == true) { spawner.Timer = Time.time + 5.0f; gameObject.SetActive(false); //if this is true, then it nullifies the script return; } break; } if (c.gameObject.CompareTag("GameController")) { AudioManager.instance.Play("Collectible_Sound"); bool retry = true; partBack = Random.Range(0, 5); while (retry == true) { switch (partBack) { case 0: if (headsUp.has_door_1) { partBack++; } else { headsUp.RegainPart(3); retry = false; } break; case 1: if (headsUp.has_door_2) { partBack++; } else { headsUp.RegainPart(4); retry = false; } break; case 2: if (headsUp.has_Shield || character != AVerySimpleEnumOfCharacters.Paul) { partBack++; } else { headsUp.has_Shield = true; retry = false; } break; case 3: if (headsUp.has_extra1 || character == AVerySimpleEnumOfCharacters.Felix || character == AVerySimpleEnumOfCharacters.Paul || character == AVerySimpleEnumOfCharacters.NotInGame) { partBack++; } else { headsUp.RegainPart(8); retry = false; } break; case 4: if (headsUp.has_extra2 || character != AVerySimpleEnumOfCharacters.Maxine) { partBack = 0; // retry = false; } else { headsUp.RegainPart(9); retry = false; } break; } } spawner.Timer = Time.time + 5.0f; gameObject.SetActive(false); } } } else { Debug.Log("We have no 'Heads up' Object"); return; } }
// Update is called once per frame void Update() { Player_Wheel_Detach wheels = wheeldetacher.GetComponentInChildren <Player_Wheel_Detach>(); if (!vechicle.GetComponent <VehicleBehavior>().isControllerInitialized) { return; } if (Input.GetButtonDown(vechicle.GetComponent <VehicleBehavior>().input_ItemNext)) { Debug.Log("TEST NEXT INPUT"); // Debug.Log("before" + item_selected); ui_item[item_selected].transform.localScale -= new Vector3(0.5f, 0.5f); item_selected -= 1; if (item_selected < 0) { item_selected = 6; } ui_item[item_selected].transform.localScale += new Vector3(0.5f, 0.5f); if (ui_item[item_selected].gameObject.active == false) { Debug.Log("Item not there"); } //Debug.Log("after" + item_selected); } else if (Input.GetButtonDown(vechicle.GetComponent <VehicleBehavior>().input_ItemPrev)) { Debug.Log("TEST PREV INPUT"); ui_item[item_selected].transform.localScale -= new Vector3(0.5f, 0.5f); item_selected += 1; if (item_selected >= 7) { item_selected = 0; } ui_item[item_selected].transform.localScale += new Vector3(0.5f, 0.5f); if (ui_item[item_selected].gameObject.active == false) { Debug.Log("Item not there"); } } if (Input.GetButtonDown(vechicle.GetComponent <VehicleBehavior>().input_projectile)) { Debug.Log("TEST SHOOT INPUT"); if (ui_item[item_selected].gameObject.tag == "Tire") { if (item_selected == 0) { if (has_tire_1) { vechicle.GetComponentInChildren <Player_Wheel_Detach>().Throw_Wheel(1); Debug.Log("used front left tire"); has_tire_1 = false; ui_item[item_selected].gameObject.SetActive(false); } else { Debug.Log("tire already used"); } } if (item_selected == 2) { if (has_tire_2) { vechicle.GetComponentInChildren <Player_Wheel_Detach>().Throw_Wheel(2); Debug.Log("used front right tire"); has_tire_2 = false; ui_item[item_selected].gameObject.SetActive(false); } else { Debug.Log("tire already used"); } } if (item_selected == 5) { if (has_tire_3) { vechicle.GetComponentInChildren <Player_Wheel_Detach>().Throw_Wheel(3); Debug.Log("used back left tire"); has_tire_3 = false; ui_item[item_selected].gameObject.SetActive(false); } else { Debug.Log("tire already used"); } } if (item_selected == 6) { if (has_tire_4) { vechicle.GetComponentInChildren <Player_Wheel_Detach>().Throw_Wheel(4); Debug.Log("used back right tire"); has_tire_4 = false; ui_item[item_selected].gameObject.SetActive(false); } else { Debug.Log("tire already used"); } } } else if (ui_item[item_selected].gameObject.tag == "Door") { if (item_selected == 3) { if (has_door_1) { Debug.Log("used left door"); has_door_1 = false; } else { Debug.Log("door already used"); } } if (item_selected == 4) { if (has_door_2) { Debug.Log("used right door"); has_door_2 = false; } else { Debug.Log("door already used"); } } } else if (ui_item[item_selected].gameObject.tag == "Hood") { if (has_hood) { vechicle.GetComponentInChildren <Player_Projectile>().Throw_Hood(); Debug.Log("used hood"); has_hood = false; ui_item[item_selected].gameObject.SetActive(false); //call hood item function use here } else if (!has_hood) { Debug.Log("No hood left fool"); //play sound? or other notification } } } /* if (Input.GetButtonDown(vechicle.GetComponent<VehicleBehavior>().input_ItemNext)) * { * // Debug.Log("before" + item_selected); * ui_item[item_selected].transform.localScale -= new Vector3(0.5f, 0.5f); * * * item_selected += 1; * if (item_selected >= 7) * item_selected = 0; * * ui_item[item_selected].transform.localScale += new Vector3(0.5f, 0.5f); * * * //Debug.Log("after" + item_selected); * * } * else if (Input.GetButtonDown(vechicle.GetComponent<VehicleBehavior>().input_ItemPrev)) * { * ui_item[item_selected].transform.localScale -= new Vector3(0.5f, 0.5f); * * * item_selected -= 1; * if (item_selected < 0) * item_selected = 6; * * ui_item[item_selected].transform.localScale += new Vector3(0.5f, 0.5f); * * * }*/ if (Input.GetButtonDown(vechicle.GetComponent <VehicleBehavior>().input_projectile)) { Debug.Log("I am player" + playerNum); if (ui_item[item_selected].gameObject.tag == "Tire") { if (item_selected == 0) { if (has_tire_1) { Debug.Log("used front left tire"); has_tire_1 = false; } else { Debug.Log("tire already used"); } } if (item_selected == 2) { if (has_tire_2) { Debug.Log("used front right tire"); has_tire_2 = false; } else { Debug.Log("tire already used"); } } if (item_selected == 5) { if (has_tire_3) { Debug.Log("used back left tire"); has_tire_3 = false; } else { Debug.Log("tire already used"); } } if (item_selected == 6) { if (has_tire_4) { Debug.Log("used back right tire"); has_tire_4 = false; } else { Debug.Log("tire already used"); } } } else if (ui_item[item_selected].gameObject.tag == "Door") { if (item_selected == 3) { if (has_door_1) { Debug.Log("used left door"); has_door_1 = false; } else { Debug.Log("door already used"); } } if (item_selected == 4) { if (has_door_2) { Debug.Log("used right door"); has_door_2 = false; } else { Debug.Log("door already used"); } } } else if (ui_item[item_selected].gameObject.tag == "Hood") { if (has_hood) { Debug.Log("used hood"); has_hood = false; //call hood item function use here } else if (!has_hood) { Debug.Log("No hood left fool"); //play sound? or other notification } } } if (Input.GetButtonDown(vechicle.GetComponent <VehicleBehavior>().input_ItemNext)) { // Debug.Log("before" + item_selected); ui_item[item_selected].transform.localScale -= new Vector3(0.5f, 0.5f); item_selected += 1; if (item_selected >= 7) { item_selected = 0; } ui_item[item_selected].transform.localScale += new Vector3(0.5f, 0.5f); //Debug.Log("after" + item_selected); } else if (Input.GetButtonDown(vechicle.GetComponent <VehicleBehavior>().input_ItemPrev)) { Debug.Log("I am player" + playerNum); ui_item[item_selected].transform.localScale -= new Vector3(0.5f, 0.5f); item_selected -= 1; if (item_selected < 0) { item_selected = 6; } ui_item[item_selected].transform.localScale += new Vector3(0.5f, 0.5f); } if (Input.GetButtonDown(vechicle.GetComponent <VehicleBehavior>().input_projectile)) { if (ui_item[item_selected].gameObject.tag == "Tire") { if (item_selected == 0) { if (has_tire_1) { Debug.Log("used front left tire"); has_tire_1 = false; } else { Debug.Log("tire already used"); } } if (item_selected == 2) { if (has_tire_2) { Debug.Log("used front right tire"); has_tire_2 = false; } else { Debug.Log("tire already used"); } } if (item_selected == 5) { if (has_tire_3) { Debug.Log("used back left tire"); has_tire_3 = false; } else { Debug.Log("tire already used"); } } if (item_selected == 6) { if (has_tire_4) { Debug.Log("used back right tire"); has_tire_4 = false; } else { Debug.Log("tire already used"); } } } else if (ui_item[item_selected].gameObject.tag == "Door") { if (item_selected == 3) { if (has_door_1) { Debug.Log("used left door"); has_door_1 = false; } else { Debug.Log("door already used"); } } if (item_selected == 4) { if (has_door_2) { Debug.Log("used right door"); has_door_2 = false; } else { Debug.Log("door already used"); } } } else if (ui_item[item_selected].gameObject.tag == "Hood") { if (has_hood) { Debug.Log("used hood"); has_hood = false; //call hood item function use here } else if (!has_hood) { Debug.Log("No hood left fool"); //play sound? or other notification } } } if (Input.GetButtonDown(vechicle.GetComponent <VehicleBehavior>().input_ItemNext)) { // Debug.Log("before" + item_selected); ui_item[item_selected].transform.localScale -= new Vector3(0.5f, 0.5f); item_selected += 1; if (item_selected >= 7) { item_selected = 0; } ui_item[item_selected].transform.localScale += new Vector3(0.5f, 0.5f); //Debug.Log("after" + item_selected); } else if (Input.GetButtonDown(vechicle.GetComponent <VehicleBehavior>().input_ItemPrev)) { Debug.Log("I am player" + playerNum); ui_item[item_selected].transform.localScale -= new Vector3(0.5f, 0.5f); item_selected -= 1; if (item_selected < 0) { item_selected = 6; } ui_item[item_selected].transform.localScale += new Vector3(0.5f, 0.5f); } if (Input.GetButtonDown(vechicle.GetComponent <VehicleBehavior>().input_projectile)) { if (ui_item[item_selected].gameObject.tag == "Tire") { if (item_selected == 0) { if (has_tire_1) { Debug.Log("used front left tire"); has_tire_1 = false; } else { Debug.Log("tire already used"); } } if (item_selected == 2) { if (has_tire_2) { Debug.Log("used front right tire"); has_tire_2 = false; } else { Debug.Log("tire already used"); } } if (item_selected == 5) { if (has_tire_3) { Debug.Log("used back left tire"); has_tire_3 = false; } else { Debug.Log("tire already used"); } } if (item_selected == 6) { if (has_tire_4) { Debug.Log("used back right tire"); has_tire_4 = false; } else { Debug.Log("tire already used"); } } } else if (ui_item[item_selected].gameObject.tag == "Door") { if (item_selected == 3) { if (has_door_1) { Debug.Log("used left door"); has_door_1 = false; } else { Debug.Log("door already used"); } } if (item_selected == 4) { if (has_door_2) { Debug.Log("used right door"); has_door_2 = false; } else { Debug.Log("door already used"); } } } else if (ui_item[item_selected].gameObject.tag == "Hood") { if (has_hood) { Debug.Log("used hood"); has_hood = false; //call hood item function use here } else if (!has_hood) { Debug.Log("No hood left fool"); //play sound? or other notification } } } }