Files
badeend-go/Assets/CollectableDuck.cs

36 lines
957 B
C#

using System;
using UnityEngine;
using UnityEngine.UIElements;
[RequireComponent(typeof(Collider))]
public class CollectableDuck: MonoBehaviour
{
private Camera _camera;
private Collider _collider;
public CollectableDuckData CollectableDuckData { get; set; }
private void Awake()
{
_camera = Camera.main;
_collider = GetComponent<Collider>();
}
private void Update()
{
if (Input.GetMouseButtonUp(0))
{
var ray = _camera.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;;
if (Physics.Raycast(ray, out hit) && hit.collider == _collider)
{
if (CollectableDuckData == null)
{
throw new Exception("Unknown duck clicked in '" + gameObject.name + "'");
}
CollectableDuckManager.Instance.DuckCollected(CollectableDuckData);
}
}
}
}