ResourceMaker détecte le click sur le Yield Les yields font partis du ResourceTile
58 lines
1.7 KiB
C#
58 lines
1.7 KiB
C#
using System.Collections;
|
|
using UnityEngine;
|
|
/// <summary>
|
|
/// Gère la production de ressource et sert de minuteur pour laisser la ressource sur le sol.
|
|
/// </summary>
|
|
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");
|
|
}
|
|
|
|
/// <summary>
|
|
/// D'après le choix de resource à générer, choisi le prefab à instancier
|
|
/// </summary>
|
|
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();
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|