32 lines
857 B
C#
32 lines
857 B
C#
using UnityEngine;
|
|
|
|
[DisallowMultipleComponent]
|
|
[RequireComponent(typeof(Collider))]
|
|
public sealed class FurnaceScrapReceiver : MonoBehaviour
|
|
{
|
|
[SerializeField] private FurnaceController furnace;
|
|
|
|
private void Reset()
|
|
{
|
|
furnace = GetComponentInParent<FurnaceController>();
|
|
Collider receiverCollider = GetComponent<Collider>();
|
|
receiverCollider.isTrigger = true;
|
|
}
|
|
|
|
private void Awake()
|
|
{
|
|
if (furnace == null)
|
|
furnace = GetComponentInParent<FurnaceController>();
|
|
}
|
|
|
|
private void OnTriggerEnter(Collider other)
|
|
{
|
|
if (furnace == null || !furnace.IsServer || !furnace.IsSpawned)
|
|
return;
|
|
|
|
FurnaceMetalSource source = other.GetComponentInParent<FurnaceMetalSource>();
|
|
if (source != null)
|
|
furnace.TryConsumeMetalSource(source);
|
|
}
|
|
}
|