protected void DirectionalBurstAttack(AttackTime time, Attack a) { time.Deduct(a.delay, i => SpawnDirectionalBurst(a.bulletSpeed, targets[a.start].transform.position, (a.offset + (float)i * a.rotation * a.delay) * Mathf.Deg2Rad, a.spread * Mathf.Deg2Rad, a.color, a.size)); }
protected void TargetPlayerAttack(AttackTime time, Attack a) { time.Deduct(a.delay, i => SpawnPlayerTrackingBullet(a.bulletSpeed, targets[a.start].transform.position, a.color, a.size)); }
protected void CircleBurstAttack(AttackTime time, Attack a) { time.Deduct(a.delay, i => SpawnCircleBurst(a.bulletSpeed, targets[a.start].transform.position, (float)i * a.rotation + (i % 2) * a.offset, a.spread, a.color, a.size)); }
protected void SpinAttack(AttackTime time, Attack a) { time.Deduct(a.delay, i => SpawnBullet((float)i * a.rotation + a.offset, a.bulletSpeed, targets[a.start].transform.position, a.color, a.size)); }