public void Activate() { if (IsHeldAbility()) { activated = true; } else { SetCooldown(); } ActivateFunc.Invoke(); }
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); }