Ejemplo n.º 1
0
    public void RemoveCurrentPickup()
    {
        CrateManager.Instance.Explode();
        CrateManager.Instance.spawnLocationStatus[CrateManager.Instance.currentSpawnedItems[currentPickup]] = false;
        CrateManager.Instance.currentSpawnedItems.Remove(currentPickup);
        playerPickup.currentColliders.Remove(currentPickup.GetComponent <Collider>());

        currentPickup.GetComponent <IdleCrate>().PickUp(false);
        currentPickup.SetActive(false);
        currentPickup.transform.parent = ObjectPoolerGavin.GetPooler(ObjectPoolerGavin.Key.AtomBomb).gameObject.transform;
        isHolding = false;
    }
Ejemplo n.º 2
0
    void SpawnCrate()
    {
        for (int i = 0; i < spawnLocationStatus.Count; i++)
        {
            int        randBomb = Random.Range(0, 3);
            GameObject obj      = null;

            switch (randBomb)
            {
            case 0:
                obj = ObjectPoolerGavin.GetPooler(atomKey).GetPooledObject();
                break;

            case 1:
                obj = ObjectPoolerGavin.GetPooler(fuseKey).GetPooledObject();
                break;

            case 2:
                obj = ObjectPoolerGavin.GetPooler(tntKey).GetPooledObject();
                break;
            }

            obj.transform.position = spawnLocations[i].position;
            obj.GetComponent <IdleCrate>().PickUp(false);
            obj.SetActive(true);

            currentSpawnedItems.Add(obj, spawnLocations[i]);
            spawnLocationStatus[spawnLocations[i]] = true;
            spawnNumbers.min++;

            if (tillNextPower <= 0)
            {
                if (GameManager.Instance.item1 == "" && GameManager.Instance.item2 == "")
                {
                    return;
                }

                GameObject powerupIndicator = obj.GetComponent <Crate>().powerupIndicator;
                powerupIndicator.SetActive(true);

                if (GameManager.Instance.item1 == "" && GameManager.Instance.item2 != "")
                {
                    switch (GameManager.Instance.item2)
                    {
                    case "Strength":
                        powerupIndicator.GetComponent <MeshRenderer>().material.color = Color.red;
                        obj.GetComponent <Crate>().SetPower(global::Crate.PowerUp.Strength);
                        Debug.Log("Strength!");
                        break;

                    case "Speed":
                        powerupIndicator.GetComponent <MeshRenderer>().material.color = Color.green;
                        obj.GetComponent <Crate>().SetPower(global::Crate.PowerUp.Speed);
                        Debug.Log("Speed!");
                        break;

                    case "Chasis":
                        powerupIndicator.GetComponent <MeshRenderer>().material.color = Color.blue;
                        obj.GetComponent <Crate>().SetPower(global::Crate.PowerUp.Chasis);
                        Debug.Log("Chasis!");
                        break;
                    }
                }
                else if (GameManager.Instance.item1 != "" && GameManager.Instance.item2 == "")
                {
                    switch (GameManager.Instance.item1)
                    {
                    case "Strength":
                        powerupIndicator.GetComponent <MeshRenderer>().material.color = Color.red;
                        obj.GetComponent <Crate>().SetPower(global::Crate.PowerUp.Strength);
                        Debug.Log("Strength!");
                        break;

                    case "Speed":
                        powerupIndicator.GetComponent <MeshRenderer>().material.color = Color.green;
                        obj.GetComponent <Crate>().SetPower(global::Crate.PowerUp.Speed);
                        Debug.Log("Speed!");
                        break;

                    case "Chasis":
                        powerupIndicator.GetComponent <MeshRenderer>().material.color = Color.blue;
                        obj.GetComponent <Crate>().SetPower(global::Crate.PowerUp.Chasis);
                        Debug.Log("Chasis!");
                        break;
                    }
                }
                else
                {
                    int randNumb = Random.Range(1, 100);

                    if (randNumb <= 50)
                    {
                        switch (GameManager.Instance.item1)
                        {
                        case "Strength":
                            powerupIndicator.GetComponent <MeshRenderer>().material.color = Color.red;
                            obj.GetComponent <Crate>().SetPower(global::Crate.PowerUp.Strength);
                            Debug.Log("Strength!");
                            break;

                        case "Speed":
                            powerupIndicator.GetComponent <MeshRenderer>().material.color = Color.green;
                            obj.GetComponent <Crate>().SetPower(global::Crate.PowerUp.Speed);
                            Debug.Log("Speed!");
                            break;

                        case "Chasis":
                            powerupIndicator.GetComponent <MeshRenderer>().material.color = Color.blue;
                            obj.GetComponent <Crate>().SetPower(global::Crate.PowerUp.Chasis);
                            Debug.Log("Chasis!");
                            break;
                        }
                    }
                    else
                    {
                        switch (GameManager.Instance.item2)
                        {
                        case "Strength":
                            powerupIndicator.GetComponent <MeshRenderer>().material.color = Color.red;
                            obj.GetComponent <Crate>().SetPower(global::Crate.PowerUp.Strength);
                            Debug.Log("Strength!");
                            break;

                        case "Speed":
                            powerupIndicator.GetComponent <MeshRenderer>().material.color = Color.green;
                            obj.GetComponent <Crate>().SetPower(global::Crate.PowerUp.Speed);
                            Debug.Log("Speed!");
                            break;

                        case "Chasis":
                            powerupIndicator.GetComponent <MeshRenderer>().material.color = Color.blue;
                            obj.GetComponent <Crate>().SetPower(global::Crate.PowerUp.Chasis);
                            Debug.Log("Chasis!");
                            break;
                        }
                    }
                }

                tillNextPower = Random.Range(tillNextPowerMin, tillNextPowerMax);
            }
            else
            {
                obj.GetComponent <Crate>().SetPower(global::Crate.PowerUp.None);
            }
        }
    }