public void Deactivate() { if (activated) { activated = false; DeactivateFunc.Invoke(); SetPenalty(); } }
public Pool(T sample, CreateFunc createFunc, DestroyFunc destroyFunc, ActivateFunc activateFunc, DeactivateFunc deactivateFunc, int initialSize = 100) { m_sample = sample; m_create = createFunc; m_destroy = destroyFunc; m_activate = activateFunc; m_deactivate = deactivateFunc; var go = sample as GameObject; if (go) { m_parent = new GameObject(go.name + "-Pool"); } Grow(initialSize); }