37 lines
997 B
C#
37 lines
997 B
C#
|
|
using UnityEngine;
|
||
|
|
|
||
|
|
public class Pickup : MonoBehaviour
|
||
|
|
{
|
||
|
|
[SerializeField] enum PickupType { Health, Fuel, Time, Bomb }
|
||
|
|
[SerializeField] PickupType pickupType;
|
||
|
|
[SerializeField] float amount = 25f;
|
||
|
|
void Update()
|
||
|
|
{
|
||
|
|
SpinObject();
|
||
|
|
}
|
||
|
|
public void PickupItem(GameObject player)
|
||
|
|
{
|
||
|
|
PlayerStats playerStats = player.GetComponent<PlayerStats>();
|
||
|
|
switch (pickupType)
|
||
|
|
{
|
||
|
|
case PickupType.Health:
|
||
|
|
playerStats.TakeDamage(- (int)amount);
|
||
|
|
break;
|
||
|
|
case PickupType.Fuel:
|
||
|
|
playerStats.UseFuel(-amount);
|
||
|
|
break;
|
||
|
|
case PickupType.Time:
|
||
|
|
playerStats.AddTime(amount);
|
||
|
|
break;
|
||
|
|
case PickupType.Bomb:
|
||
|
|
playerStats.TakeDamage((int)amount);
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
Destroy(gameObject);
|
||
|
|
}
|
||
|
|
void SpinObject()
|
||
|
|
{
|
||
|
|
transform.Rotate(new Vector3(0, 50, 0) * Time.deltaTime);
|
||
|
|
}
|
||
|
|
}
|