using AlicizaX.ObjectPool; using UnityEngine; namespace AlicizaX { public sealed class ObjectPoolComponent : MonoBehaviour { private IObjectPoolService _mObjectPoolService; public int Count => _mObjectPoolService.Count; private void Awake() { _mObjectPoolService = AppServices.RegisterApp(new ObjectPoolService()); Application.lowMemory += OnLowMemory; } private void OnDestroy() { Application.lowMemory -= OnLowMemory; _mObjectPoolService = null; } private void OnLowMemory() { if (_mObjectPoolService is ObjectPoolService svc) svc.OnLowMemory(); } public ObjectPoolBase[] GetAllObjectPools(bool sort) { return _mObjectPoolService.GetAllObjectPools(sort); } } }