canto/Assets/Scripts/Rendering/BillboardManager.cs
2025-07-19 23:42:43 -04:00

49 lines
1.1 KiB
C#

using System.Collections.Generic;
using UnityEngine;
namespace KitsuneCafe.Rendering
{
public class BillboardManager : MonoBehaviour
{
[SerializeField]
private new Transform camera;
private readonly List<Transform> transforms = new();
private void Reset()
{
camera = Camera.main.transform;
}
private void Awake()
{
if (camera == null)
{
camera = Camera.main.transform;
}
}
private void Start()
{
var count = transform.childCount;
for (int i = 0; i < count; i++)
{
Register(transform.GetChild(i));
}
}
private void Register(Transform transform)
{
transforms.Add(transform);
}
private void LateUpdate()
{
var count = transforms.Count;
for (int i = 0; i < count; i++)
{
transforms[i].forward = camera.forward;
}
}
}
}