示例#1
0
    public virtual void OnTriggerEnter(Collider coll)
    {
        if (coll.GetComponent <WeaponAndAmmoManager>() != null &&
            coll.GetComponent <PlayerTimeManager>() != null &&
            coll.GetComponent <PlayerHealthManager>() != null &&
            !hasBeenPickedUp)
        {
            WeaponAndAmmoManager playerWpnManager;
            PlayerHealthManager  playerHealthManager = coll.GetComponent <PlayerHealthManager>();
            PlayerTimeManager    playerTimeManager   = coll.GetComponent <PlayerTimeManager>();

            playerWpnManager = coll.GetComponent <WeaponAndAmmoManager>();

            switch (pickupType)
            {
            case PickupType.Weapon:
                if (myWeaponType != WeaponType.None)
                {
                    playerWpnManager.PickupWeapon(myWeaponType);
                }
                break;

            case PickupType.Ammo:
                if (myWeaponType != WeaponType.None)
                {
                    playerWpnManager.PickupAmmo(myWeaponType);
                }
                break;

            case PickupType.Powerup:
                //add powerups/health pickups here
                break;

            case PickupType.Health:
                playerHealthManager.currentHealth += myValue;
                playerHealthManager.PickupHealth(myValue);
                break;

            case PickupType.Action_Points:
                playerTimeManager.myActionPoints += myValue;
                playerTimeManager.PickupActionPoints(myValue);
                break;

            default:
                break;
            }
            TogglePickupActive();
            // StartCoroutine(RespawnPickup(respawnTime));
            hasBeenPickedUp = true;
        }
    }