Hey, I’ve got a script for an enemy space ship, and near the bottom I have it to where when the PlayerProjectile hits the object it destroys and spawns a pickup. But I different types such as Health, shield etc… How would I add a Random.Value drop rate for each item such as 10% for health 30% for shield? Any help you guys can give is greatly appreciated
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EnemyControllerBasic : MonoBehaviour
{
[SerializeField]
float MoveSpeed = 5.0f;
private ShipPlayerController PlayerShipCtrl;
[SerializeField]
GameObject[] PickupTypes;
private GameObject BadPickup;
private GameObject Pickup;
private GameObject PickupShield;
private GameObject PickupHealth;
// Use this for initialization
void Start()
{
Destroy(gameObject, 5.0f);
GameObject playerShip = GameObject.Find("PlayerShip");
PlayerShipCtrl = playerShip.GetComponent<ShipPlayerController>();
}
// Update is called once per frame
void Update()
{
transform.position +=
transform.up * Time.deltaTime * MoveSpeed;
}
void OnTriggerEnter(Collider other)
{
if (other.tag == "PlayerProjectile")
{
Destroy(gameObject);
SpawnPickup();
}
else if (other.tag == "PlayerShip")
{
Destroy(gameObject);
PlayerShipCtrl.ModScore(-3);
}
}
void SpawnPickup()
{
int randIndex = Random.Range(0, PickupTypes.Length);
if (Random.value > 0.5)
Instantiate(PickupTypes[randIndex],
transform.position, transform.rotation);
}
}