public virtual void OnStructureDestroyed() { currentStructureCount--; if (maxStructureCount > 0) { canPlaceMore = true; } if (currentStructureCount == 0) { defenderSpawner.RemoveCell(new Vector2(Mathf.RoundToInt(transform.position.x), Mathf.RoundToInt(transform.position.y))); defenderSpawner.structures.Remove(this); Destroy(gameObject, destroyAnimationTime); } }