public void DropInSpawnLeave(Vector2 posA, Vector2 posB, Vector2 moveDelta, Vector2 targetDeltaA, Vector2 targetDeltaB, BulletSpawnDefinition defA, BulletSpawnDefinition defB) { Vector2 AMovePos = posA + moveDelta; Vector2 BMovePos = posB + moveDelta; Vector2 ATargetPos = AMovePos + targetDeltaA; Vector2 BTargetPos = BMovePos + targetDeltaB; DropInOut.Create(dropInOutPrefab, posA, AMovePos, posA, 10f, defA, ATargetPos); DropInOut.Create(dropInOutPrefab, posB, BMovePos, posB, 10f, defB, BTargetPos); }
private void DropInSpawn2FansLeave(Vector2 posA, Vector2 posB, Vector2 moveDelta, Vector2 targetDeltaA, Vector2 targetDeltaB) { BulletSpawnDefinition clockwiseFan = new FanSpawn(new FanSpawn(new SingleSpawn(new BulletSpawnPos(Vector2.zero, 0f, 2f, 0f)), 3, 60, 0f, center: false), 3, 30, 0.2f, center: false); BulletSpawnDefinition counterClockwiseFan = new FanSpawn(new FanSpawn(new SingleSpawn(new BulletSpawnPos(Vector2.zero, 0f, 2f, 0f)), 3, -60, 0f, center: false), 3, -30, 0.2f, center: false); Vector2 AMovePos = posA + moveDelta; Vector2 BMovePos = posB + moveDelta; Vector2 ATargetPos = AMovePos + targetDeltaA; Vector2 BTargetPos = BMovePos + targetDeltaB; DropInOut.Create(dropInOutPrefab, posA, AMovePos, posA, 10f, clockwiseFan, ATargetPos); DropInOut.Create(dropInOutPrefab, posB, BMovePos, posB, 10f, counterClockwiseFan, BTargetPos); }
// Start is called before the first frame update void Start() { var pattern = new RepeatSpawn(SpawnPattern.InterleavedFan(15, 7, 0.5f, SpawnPattern.Single(2f)), 5, 1f); DropInOut.Create(dropInOutPrefab, transform.position, transform.position + Vector3.down * 10f, transform.position, 10, pattern, transform.position + Vector3.down * 15f); }