using static CourseStepFactory; public static class FallbackCourseProfile { public static CourseProfile CreateTutorialFallback() { return CourseProfile.Create( new CourseStep[] { Jump(GameManager.TutorialGuideType.Jump, "점프", "가방 장애물이 보이면 왼쪽 클릭으로 뛰어넘습니다."), Basic(GroundY, LandingSpacing), Aerial(GameManager.TutorialGuideType.DoubleJump, "2단 점프", "다음 발판이 멀리 있으면 공중에서 한 번 더 왼쪽 클릭합니다."), Basic(GroundY, LandingSpacing), Slide(GameManager.TutorialGuideType.Slide, "슬라이드", "천장 표지판이 보이면 오른쪽 클릭을 누르고 지나갑니다."), Basic(GroundY, LandingSpacing), ForceHit(GameManager.TutorialGuideType.Damage, "피격", "이번 구간은 일부러 맞아 목숨과 속도 감소를 확인합니다."), Basic(GroundY, LandingSpacing, Platform.MileagePattern.None, GameManager.TutorialGuideType.Items, GameplayItemCatalog.GetDisplayName(GameManager.TutorialItemType.HealthSushi, Platform.PlatformSkin.Airport), "김밥을 먹으면 잃은 목숨을 1 회복합니다.", Platform.ItemPattern.HealthSushi), Basic(GroundY, BasicSpacing, Platform.MileagePattern.None, GameManager.TutorialGuideType.Items, GameplayItemCatalog.GetDisplayName(GameManager.TutorialItemType.InvincibleRamen, Platform.PlatformSkin.Airport), "바나나우유를 먹고 다음 충돌을 피해 없이 지나가 봅니다.", Platform.ItemPattern.InvincibleRamen), ForceHit(GameManager.TutorialGuideType.None, "", ""), Basic(GroundY, LandingSpacing), Basic(GroundY, BasicSpacing), Basic(GroundY, BasicSpacing), ForceHit(GameManager.TutorialGuideType.None, "", ""), Basic(GroundY, BasicSpacing, Platform.MileagePattern.None, GameManager.TutorialGuideType.Items, GameplayItemCatalog.GetDisplayName(GameManager.TutorialItemType.EnergyDrink, Platform.PlatformSkin.Airport), "에너지 드링크는 속도를 조금 회복해 일정이 늦어지는 것을 줄입니다.", Platform.ItemPattern.EnergyDrink), Basic(GroundY, BasicSpacing), Basic(GroundY, BasicSpacing) }, CreateGeneralFallbackLoop()); } public static CourseProfile CreateGeneralFallback() { return CourseProfile.Create( new CourseStep[] { Basic(), Basic() }, CreateGeneralFallbackLoop()); } private static CourseStep[] CreateGeneralFallbackLoop() { return new CourseStep[] { Basic(), Jump(), Basic(GroundY, LandingSpacing), Slide(SlideObstaclePattern.SlideLayout.WidePair), Basic(), Jump(Platform.PlatformPattern.LowLeft), Slide(SlideObstaclePattern.SlideLayout.LeftPair), Basic(), Jump(Platform.PlatformPattern.LowRight), Aerial(AerialY, AerialSpacing), Slide(SlideObstaclePattern.SlideLayout.RightPair), Jump(Platform.PlatformPattern.LowMid), Basic(), Slide(SlideObstaclePattern.SlideLayout.CenterPair) }; } }