first commit
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
using UnityEngine;
|
||||
|
||||
public class ResourceNode : MonoBehaviour
|
||||
{
|
||||
public ItemData itemData;
|
||||
public int amount = 1;
|
||||
public float interactionRange = 2.4f;
|
||||
public KeyCode interactionKey = KeyCode.E;
|
||||
|
||||
private Transform player;
|
||||
private bool collected;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
GameObject playerObject = GameObject.FindGameObjectWithTag("Player");
|
||||
if (playerObject != null)
|
||||
{
|
||||
player = playerObject.transform;
|
||||
}
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (collected || itemData == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (player == null)
|
||||
{
|
||||
GameObject playerObject = GameObject.FindGameObjectWithTag("Player");
|
||||
player = playerObject != null ? playerObject.transform : null;
|
||||
}
|
||||
|
||||
if (player == null || Vector3.Distance(player.position, transform.position) > interactionRange)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (Input.GetKeyDown(interactionKey))
|
||||
{
|
||||
Collect();
|
||||
}
|
||||
}
|
||||
|
||||
private void Collect()
|
||||
{
|
||||
collected = true;
|
||||
|
||||
if (Inventory.Instance != null)
|
||||
{
|
||||
Inventory.Instance.AddItem(itemData, amount);
|
||||
}
|
||||
|
||||
if (NotificationUI.Instance != null)
|
||||
{
|
||||
NotificationUI.Instance.Show($"Собрано:\n{itemData.itemName} x{amount}");
|
||||
}
|
||||
|
||||
Destroy(gameObject);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user