34 lines
1011 B
C#
34 lines
1011 B
C#
using System;
|
|
using KBCore.Refs;
|
|
using UnityEngine;
|
|
|
|
namespace Infrastructure.Unity
|
|
{
|
|
public class OrbViewAdapter : MonoBehaviour
|
|
{
|
|
[SerializeField] private ParticleSystem pickupVfx;
|
|
[Self][SerializeField] private MeshRenderer meshRenderer;
|
|
|
|
public event Action OnCollected;
|
|
|
|
private void OnTriggerEnter(Collider other)
|
|
{
|
|
if (other.TryGetComponent<PlayerController>(out var player))
|
|
{
|
|
if (pickupVfx)
|
|
{
|
|
var vfx = Instantiate(pickupVfx, transform.position, Quaternion.identity);
|
|
var main = vfx.main;
|
|
|
|
var currentColor = meshRenderer.material.color;
|
|
main.startColor = currentColor;
|
|
|
|
Destroy(vfx.gameObject, 2f);
|
|
}
|
|
|
|
OnCollected?.Invoke();
|
|
Destroy(gameObject);
|
|
}
|
|
}
|
|
}
|
|
} |