private SceneActionBuilder(SceneActionBuilder parent) { _action = new SceneAction(); _parent = parent; _patternManager = BulletPatternBuilder.GetInstance(); }
private void InitPatterns() { _patternManager = BulletPatternBuilder.GetInstance(); _patternManager.Clear(); _patternManager.CreatePattern("p000").SetIntervalFrame(60); _patternManager.CreatePattern("p000_left") .SetPositionOffset(new Vector2(-2.0f, 0f)); _patternManager.CreatePattern("p000_right") .SetPositionOffset(new Vector2(2.0f, 0f)); _patternManager.CreatePattern("p001") .SetTriggerType(TriggerType.ONCE).SetDelayFrame(90); _patternManager.CreatePattern("p002") .SetLockedOnAvatar(false); _patternManager.CreatePattern("p003") .SetTrigger(new ShootEveryEightFrame()); _patternManager.CreatePattern("p003_undestroyable") .SetTrigger(new ShootEveryEightFrame()).SetDestroyableProportion(0); _patternManager.CreatePattern("p004") .SetBulletCount(5).SetLockedOnAvatar(false); _patternManager.CreatePattern("p005") .SetBulletCount(5); _patternManager.CreatePattern("p006") .SetBulletCount(3).SetTrigger(new ShootEveryFourFrame()) .SetIntervalFrame(144) .SetAngleOffset(10).SetLockedOnAvatar(false); _patternManager.CreatePattern("p007") .SetBulletCount(4).SetTrigger(new ShootEveryEightFrame()) .SetCoolDownFrame(30); _patternManager.CreatePattern("p007_partial_destroyable") .SetBulletCount(4).SetTrigger(new ShootEveryTwelveFrame()) .SetCoolDownFrame(60).SetDestroyableProportion(30); _patternManager.CreatePattern("never_shoot") .SetTrigger(new NeverShoots()); _patternManager.CreatePattern("aim_once_after_2s") .SetTriggerType(TriggerType.ONCE).SetDelayFrame(120); _patternManager.CreatePattern("aim_once_after_1s") .SetTriggerType(TriggerType.ONCE).SetDelayFrame(60); _patternManager.CreatePattern("polar_spiral") .SetBulletCount(2).SetTrigger(new ShootEveryFourFrame()) .SetIntervalFrame(144) .SetBulletAngle(180).SetAngleOffset(10).SetLockedOnAvatar(false); _patternManager.CreatePattern("4_way_spiral") .SetBulletCount(4).SetTrigger(new ShootEveryFourFrame()) .SetIntervalFrame(96) .SetBulletAngle(90).SetAngleOffset(13).SetLockedOnAvatar(false) .SetDestroyableProportion(0); _patternManager.CreatePattern("4_way_spiral_acc") .SetBulletCount(4).SetTrigger(new ShootEveryFourFrame()) .SetIntervalFrame(144) .SetBulletAngle(90).SetAngleOffset(10).SetLockedOnAvatar(false) .SetDestroyableProportion(0).SetAngleOffsetStepper(0.1f); _patternManager.CreatePattern("8_way_blocking") .SetBulletCount(8).SetTrigger(new ShootEveryFourFrame()) .SetBulletAngle(45).SetLockedOnAvatar(true) .SetDestroyableProportion(50); _patternManager.CreatePattern("1_way_aiming_randomized_CD") .SetTrigger(new ShootEveryTwelveFrame()) .SetCoolDownFrame(240).SetIntervalFrame(30).SetDelayFrame(90) .SetAngleRandomRange(new Vector2(-10, 10)).SetDestroyableProportion(0) .SetSpeedCorrection(0.5f); _patternManager.CreatePattern("2_way_spiral_CD") .SetTrigger(new ShootEveryFourFrame()).SetBulletCount(2) .SetCoolDownFrame(16).SetIntervalFrame(90).SetAngle(-90) .SetBulletAngle(180).SetAngleOffset(16).SetLockedOnAvatar(false); _patternManager.CreatePattern("2_way_spiral_CD_0deg") .SetTrigger(new ShootEveryFourFrame()).SetBulletCount(2) .SetCoolDownFrame(16).SetIntervalFrame(90).SetAngle(0) .SetBulletAngle(180).SetAngleOffset(16).SetLockedOnAvatar(false); _patternManager.CreatePattern("chop_-150deg_down") .SetTrigger(new ShootEveryTwoFrame()).SetBulletCount(1).SetSpeedCorrection(0.7f) .SetCoolDownFrame(150).SetIntervalFrame(30).SetAngle(-150).SetDelayFrame(60) .SetAngleOffset(6).SetLockedOnAvatar(false); _patternManager.CreatePattern("chop_-30deg_down") .SetTrigger(new ShootEveryTwoFrame()).SetBulletCount(1).SetSpeedCorrection(0.7f) .SetCoolDownFrame(150).SetIntervalFrame(30).SetAngle(-30).SetDelayFrame(60) .SetAngleOffset(-6).SetLockedOnAvatar(false); _patternManager.CreatePattern("chop_boss") .SetTrigger(new ShootEveryTwoFrame()).SetBulletCount(1).SetSpeedCorrection(0.7f) .SetCoolDownFrame(210).SetIntervalFrame(30).SetAngle(-15) .SetAngleOffset(-6).SetLockedOnAvatar(false); _patternManager.CreatePattern("3_way_acc") .SetTrigger(new ShootEveryTwelveFrame()).SetBulletCount(3).SetSpeedCorrection(0.5f) .SetLockedOnAvatar(true).SetIntervalFrame(30).SetCoolDownFrame(120) .SetSpeedCorrectionOffset(0.01f).SetDelayFrame(40).SetAngleRandomRange(new Vector2(-15, 15)); _patternManager.CreatePattern("ring") .SetTrigger(new ShootEveryTwelveFrame()).SetBulletCount(20) .SetSpeedCorrection(0.5f).SetSpeedCorrectionOffset(0.01f).SetLoopAngleOffset(5) .SetBulletAngle(18).SetIntervalFrame(10).SetCoolDownFrame(30) .SetDestroyableProportion(5).SetLockedOnAvatar(false); _patternManager.CreatePattern("random_shooting") .SetAngle(-90).SetAngleRandomRange(new Vector2(-180, 180)).SetSpeedRandomRange(new Vector2(5, 15)) .SetTrigger(new ShootEveryTwoFrame()).SetBulletCount(1).SetDestroyableProportion(20).SetLockedOnAvatar(false); _patternManager.CreatePattern("backward_shooting") .SetAngle(90).SetAngleRandomRange(new Vector2(-60, 60)).SetSpeedRandomRange(new Vector2(3, 8)) .SetTrigger(new ShootEveryTwoFrame()).SetBulletCount(1).SetDestroyableProportion(20).SetLockedOnAvatar(false) .SetSpeedCorrectionOffset(-.01f); _patternManager.CreatePattern("backward_ring") .SetTrigger(new ShootEveryTwelveFrame()).SetBulletCount(40).SetSpeedCorrection(0.5f) .SetSpeedCorrection(0.5f).SetSpeedCorrectionOffset(-0.01f).SetLoopAngleOffset(5) .SetBulletAngle(9).SetIntervalFrame(48).SetAngleOffset(5) .SetDestroyableProportion(5).SetLockedOnAvatar(false).SetDelayFrame(30); _patternManager.CreatePattern("7_way_acc") .SetTrigger(new ShootEveryTwelveFrame()).SetBulletCount(7).SetSpeedCorrection(0.5f) .SetBulletAngle(7).SetAngleRandomRange(new Vector2(-10, 10)) .SetLockedOnAvatar(true).SetIntervalFrame(60).SetCoolDownFrame(10) .SetSpeedCorrectionOffset(0.01f); }