refactor(shared): animation, l10n, theme 모듈을 core에서 shared로 이동
- core/animation → shared/animation - core/l10n → shared/l10n - core/constants/ascii_colors → shared/theme/ascii_colors - import 경로 업데이트
This commit is contained in:
178
lib/src/shared/animation/background_data.dart
Normal file
178
lib/src/shared/animation/background_data.dart
Normal file
@@ -0,0 +1,178 @@
|
||||
// 환경별 배경 패턴 데이터
|
||||
// ASCII Patrol 스타일 - 패럴렉스 스크롤링 배경
|
||||
|
||||
import 'package:asciineverdie/src/shared/animation/background_layer.dart';
|
||||
|
||||
/// 환경별 배경 레이어 반환
|
||||
List<BackgroundLayer> getBackgroundLayers(EnvironmentType environment) {
|
||||
return switch (environment) {
|
||||
EnvironmentType.town => _townLayers,
|
||||
EnvironmentType.forest => _forestLayers,
|
||||
EnvironmentType.cave => _caveLayers,
|
||||
EnvironmentType.dungeon => _dungeonLayers,
|
||||
EnvironmentType.tech => _techLayers,
|
||||
EnvironmentType.void_ => _voidLayers,
|
||||
};
|
||||
}
|
||||
|
||||
// ============================================================================
|
||||
// 마을 (Town) - 건물 실루엣
|
||||
// ============================================================================
|
||||
const _townLayers = [
|
||||
// 원경 - 하늘/별
|
||||
BackgroundLayer(
|
||||
lines: [r'. * . * . * . * . * . * '],
|
||||
scrollSpeed: 0.05,
|
||||
yStart: 0,
|
||||
),
|
||||
// 중경 - 건물 실루엣
|
||||
BackgroundLayer(
|
||||
lines: [
|
||||
r' _|__|_ _|__|_ _|__|_ ',
|
||||
r' | | | | | | ',
|
||||
],
|
||||
scrollSpeed: 0.15,
|
||||
yStart: 1,
|
||||
),
|
||||
// 전경 - 바닥
|
||||
BackgroundLayer(
|
||||
lines: [r'====[]====[]====[]====[]====[]====[]'],
|
||||
scrollSpeed: 0.3,
|
||||
yStart: 7,
|
||||
),
|
||||
];
|
||||
|
||||
// ============================================================================
|
||||
// 숲 (Forest) - 나무
|
||||
// ============================================================================
|
||||
const _forestLayers = [
|
||||
// 원경 - 하늘/별
|
||||
BackgroundLayer(
|
||||
lines: [r'. * . * . * . * . * '],
|
||||
scrollSpeed: 0.05,
|
||||
yStart: 0,
|
||||
),
|
||||
// 중경 - 나무 실루엣
|
||||
BackgroundLayer(
|
||||
lines: [
|
||||
r' ,@@@, ,@@, ,@@@',
|
||||
r' @@ @@ @@ @@ @@ ',
|
||||
],
|
||||
scrollSpeed: 0.15,
|
||||
yStart: 1,
|
||||
),
|
||||
// 전경 - 바닥
|
||||
BackgroundLayer(
|
||||
lines: [r'______________________________________'],
|
||||
scrollSpeed: 0.3,
|
||||
yStart: 7,
|
||||
),
|
||||
];
|
||||
|
||||
// ============================================================================
|
||||
// 동굴 (Cave) - 바위
|
||||
// ============================================================================
|
||||
const _caveLayers = [
|
||||
// 천장
|
||||
BackgroundLayer(
|
||||
lines: [r'vvVVvvVVvvVVvvVVvvVVvvVVvvVVvvVVvvVV'],
|
||||
scrollSpeed: 0.1,
|
||||
yStart: 0,
|
||||
),
|
||||
// 종유석
|
||||
BackgroundLayer(
|
||||
lines: [
|
||||
r' | V | V | ',
|
||||
r' V V V ',
|
||||
],
|
||||
scrollSpeed: 0.15,
|
||||
yStart: 1,
|
||||
),
|
||||
// 바닥 - 석순
|
||||
BackgroundLayer(
|
||||
lines: [r'^__/\__^__/\__^__/\__^__/\__^__/\__^'],
|
||||
scrollSpeed: 0.25,
|
||||
yStart: 7,
|
||||
),
|
||||
];
|
||||
|
||||
// ============================================================================
|
||||
// 던전 (Dungeon) - 벽돌
|
||||
// ============================================================================
|
||||
const _dungeonLayers = [
|
||||
// 천장 - 벽돌
|
||||
BackgroundLayer(
|
||||
lines: [r'####|####|####|####|####|####|####|#'],
|
||||
scrollSpeed: 0.1,
|
||||
yStart: 0,
|
||||
),
|
||||
// 횃불
|
||||
BackgroundLayer(
|
||||
lines: [
|
||||
r' * * * ',
|
||||
r' )| )| )| ',
|
||||
],
|
||||
scrollSpeed: 0.15,
|
||||
yStart: 1,
|
||||
),
|
||||
// 바닥 - 타일
|
||||
BackgroundLayer(
|
||||
lines: [r'====[]====[]====[]====[]====[]====[]'],
|
||||
scrollSpeed: 0.25,
|
||||
yStart: 7,
|
||||
),
|
||||
];
|
||||
|
||||
// ============================================================================
|
||||
// 기술 (Tech) - 회로
|
||||
// ============================================================================
|
||||
const _techLayers = [
|
||||
// 상단 - 회로
|
||||
BackgroundLayer(
|
||||
lines: [r'-+-+-+-||-+-+-+-||-+-+-+-||-+-+-+-||'],
|
||||
scrollSpeed: 0.1,
|
||||
yStart: 0,
|
||||
),
|
||||
// 데이터 스트림
|
||||
BackgroundLayer(
|
||||
lines: [
|
||||
r' 10110 01101 10110 01101 101',
|
||||
r' 01 10 01 10 ',
|
||||
],
|
||||
scrollSpeed: 0.2,
|
||||
yStart: 2,
|
||||
),
|
||||
// 바닥 - 패널
|
||||
BackgroundLayer(
|
||||
lines: [r'[====][====][====][====][====][====]'],
|
||||
scrollSpeed: 0.3,
|
||||
yStart: 7,
|
||||
),
|
||||
];
|
||||
|
||||
// ============================================================================
|
||||
// 보이드 (Void) - 별/공허
|
||||
// ============================================================================
|
||||
const _voidLayers = [
|
||||
// 별
|
||||
BackgroundLayer(
|
||||
lines: [r' * . * . * . * . * '],
|
||||
scrollSpeed: 0.03,
|
||||
yStart: 0,
|
||||
),
|
||||
// 은하
|
||||
BackgroundLayer(
|
||||
lines: [
|
||||
r' ~*~ ~*~ ~*~ ',
|
||||
r' *~ ~* *~ ~* *~ ~*',
|
||||
],
|
||||
scrollSpeed: 0.08,
|
||||
yStart: 2,
|
||||
),
|
||||
// 심연
|
||||
BackgroundLayer(
|
||||
lines: [r'~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.'],
|
||||
scrollSpeed: 0.15,
|
||||
yStart: 7,
|
||||
),
|
||||
];
|
||||
Reference in New Issue
Block a user