private void Start()
 {
     point          = GetComponent <PolygonalPoint>();
     shooter        = GetComponent <PointShooter>();
     entity         = GetComponent <Entity>();
     spriteRenderer = GetComponent <SpriteRenderer>();
     entity.onEntityDied.AddListener(Die);
 }
 protected override void Modify(PolygonalPoint[] points)
 {
     for (int i = 0, n = points.Length; i < n; i++)
     {
         PointShooter shooter = points[i].GetComponent <PointShooter>();
         shooter.shootCooldown   = cooldown;
         shooter.firstShotOffset = i % 2 == 0 ? 0 : offset;
         shooter.Reset();
     }
 }