提交小游戏项目

This commit is contained in:
2026-07-06 16:27:14 +08:00
commit 2a717c6a2f
7575 changed files with 710847 additions and 0 deletions
@@ -0,0 +1,37 @@
using System;
using UnityEngine;
using System.Collections.Generic;
namespace TowerClimberChronicles
{
public class GObjectsPool
{
private Transform m_releaseRoot;
private Transform m_getRoot;
private Action<GameObject> m_onNew;
private Action<GameObject> m_onGet;
private Action<GameObject> m_onRelease;
private Dictionary<string, GObjectPool> m_pools = new();
public GameObject Get(string prefabPath, string assetName)
{
var poolName = $"{prefabPath} | {assetName}";
if (!m_pools.ContainsKey(poolName))
{
RegisterNew(prefabPath, assetName);
}
GObjectPool pool = m_pools[poolName];
return pool.Get();
}
private void RegisterNew(string prefabPath, string assetName)
{
GObjectPool pool = new GObjectPool();
pool.Init(prefabPath, assetName, m_releaseRoot, m_getRoot);
pool.InitCallBack(m_onNew, m_onGet, m_onRelease);
m_pools.Add($"{prefabPath} | {assetName}", pool);
}
}
}