using UnityEngine; namespace Game { public class ShadowPoolItem : ObjectPoolItemBase { public GameObject GameObject; protected override void OnCreate() { base.OnCreate(); if (GameObject != null) GameObject.SetActive(true); } protected override void OnDestroy() { base.OnDestroy(); if (GameObject != null) GameObject.SetActive(false); } } public class ShadowPoolManager : ObjectPoolBase { public ShadowPoolItem CreateSkillPointer(string name) { var effectNew = Create(name, item => { var newGo = CreateShadowGo(name); item.GameObject = newGo; item.GameObject.transform.parent = Root.transform; }); return effectNew; } private GameObject CreateShadowGo(string path) { return PrefabManager.Instance.CreateGo(path); } } }