using System.Collections;
using UnityEngine;
///
/// Gère la production de ressource et sert de minuteur pour laisser la ressource sur le sol.
///
public class ResourceMaker : MonoBehaviour
{
[SerializeField]
private int _resourceMakingAmount;
[SerializeField]
private ResourceManager.ResourceChoice _resourceChoice;
private ResourceManager _resourceManagerInstance;
private void Awake()
{
_resourceManagerInstance = ResourceManager.Instance;
Debug.Log("Birth");
}
///
/// D'après le choix de resource à générer, choisi le prefab à instancier
///
public void GenerateResource()
{
switch (_resourceChoice)
{
case ResourceManager.ResourceChoice.Rock:
_resourceManagerInstance.RockAmount = _resourceMakingAmount;
break;
case ResourceManager.ResourceChoice.Wood:
_resourceManagerInstance.WoodAmount = _resourceMakingAmount;
break;
case ResourceManager.ResourceChoice.Food:
_resourceManagerInstance.FoodAmount = _resourceMakingAmount;
break;
}
Destroy(gameObject);
}
private void Update()
{
if (Input.GetMouseButtonDown(0))
{
Vector2 clickPoint = Camera.main.ScreenToWorldPoint(Input.mousePosition);
RaycastHit2D hit = Physics2D.Raycast(clickPoint, transform.up);
if (hit.collider != null)
{
if (hit.collider.CompareTag("Resource"))
{
Debug.Log("I have been summoned");
GenerateResource();
}
}
}
}
}