Пример #1
0
 // 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>();
 }
Пример #2
0
    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);
    }
Пример #3
0
    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;
        }
    }
Пример #4
0
    // 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
                }
            }
        }
    }