Files
Escape-penacony-standalone/README.md
T

95 lines
7.0 KiB
Markdown
Raw Normal View History

# Escape penacony standalone 📱✨
## ppSR Scene & Map Teleporter - Native Android Application
แอปพลิเคชัน Android Standalone สำหรับจัดการและเทเลพอร์ตแผนที่ในเซิร์ฟเวอร์จำลอง **ppSR (Project Star Rail)** บนระบบปฏิบัติการ Android โดยตรง พร้อมระบบสัมผัส (Touch UI) ที่ทันสมัย และระบบอัปเดตอัตโนมัติในตัว (In-App Auto-Updater)
- **ชื่อแอปพลิเคชันเต็ม (Full Name)**: `Escape penacony standalone`
- **ชื่อแอปพลิเคชันที่แสดงบนอุปกรณ์ (Display Name)**: `Escape penacony`
- **Application ID / Package**: `com.catlas.escapepenacony`
- **สถาปัตยกรรม**: Native Android (Kotlin + Jetpack Compose + Material Design 3)
---
## 🌟 ฟีเจอร์หลัก (Key Features)
1. **Native Touch UI (Jetpack Compose & Material Design 3)**
- อินเทอร์เฟซมืด (Dark Cyberpunk Theme) ดีไซน์พิเศษ
- รองรับแถบเลือกดวงดาว (Planet Tabs) แบบเลื่อนแนวนอน และระบบค้นหาฉาก/พิกัดแบบเรียลไทม์
2. **ฐานข้อมูลแผนที่ครบถ้วน (Full Data Parity)**
- ครอบคลุม **8 ดวงดาว 85 ฉาก/แผนที่** จาก `scenes.json`
- แยกระบบหมวดหมู่ด้วยแท็กสีชัดเจน:
- ⚔️ **Combat Ready**: ฉากที่รองรับเสาต่อสู้ Calyx ดั้งเดิมในไคลเอนต์ Official
- 🗺️ **Safe Scenery**: ฉากสำหรับเดินชมวิว เสา Calyx ซ่อนใต้ดินที่ระดับความลึก Y=-999999 ปลอดภัยจากการแครช
- 🧪 **4.7 Beta Exclusive**: ฉากพิเศษสำหรับไคลเอนต์เบต้า 4.7
3. **ระบบจัดการไฟล์ผ่าน Android Storage Access Framework (SAF)**
- เลือกระบุไฟล์ `persistent.json` ผ่าน Document Picker รองรับ Android 10, 11, 12, 13, 14, และ 15+
- กดปุ่ม **Teleport** เพียงครั้งเดียวเพื่ออัปเดตพิกัดลงไฟล์ `persistent.json` ทันที พร้อมระบบสำรองไฟล์อัตโนมัติ
- มีปุ่ม **Copy JSON** สำหรับคัดลอก JSON พิกัดไปใช้งานต่อได้ทันที
4. **Custom Coordinates Input**
- ปุ่มลอย (+) สำหรับกรอก Plane ID, X, Y, Z, และ Map Layer ที่กำหนดเองได้อิสระ
5. **In-App Auto-Updater & OTA Hot Sync**
- **ตรวจจับเวอร์ชันใหม่ผ่าน GitHub Releases API**: เปรียบเทียบ `tag_name` กับเวอร์ชันในเครื่อง ดาวน์โหลด `.apk` และเรียกตัวติดตั้งระบบอัตโนมัติผ่าน `FileProvider`
- **OTA Map Update**: ปุ่มซิงค์ดาวน์โหลด `scenes.json` ตัวล่าสุดจาก GitHub Raw ได้ทันทีโดยไม่ต้องลง APK ใหม่
6. **รองรับ 3 ภาษา (Trilingual Support)**
- สลับภาษาระหว่าง **English (EN)**, **ภาษาไทย (TH)**, และ **简体中文 (ZH)** ได้ทันทีผ่านปุ่มบนแถบเมนูด้านบน
---
## 🏗️ โครงสร้างโปรเจกต์ (Project Structure)
```text
Android APK/
├── app/
│ ├── build.gradle.kts
│ ├── proguard-rules.pro
│ └── src/main/
│ ├── AndroidManifest.xml
│ ├── assets/
│ │ └── scenes.json # ฐานข้อมูลแผนที่ 8 โลก 85 แมพ
│ ├── java/com/catlas/escapepenacony/
│ │ ├── MainActivity.kt # Activity หลักและ SAF Document Picker
│ │ ├── model/
│ │ │ ├── SceneModels.kt # โมเดลข้อมูล Planet & Scene & Language
│ │ │ └── PersistentConfig.kt # โครงสร้าง JSON ของ persistent.json
│ │ ├── data/
│ │ │ ├── SceneRepository.kt # โหลดและบันทึก scenes.json (รองรับ OTA)
│ │ │ ├── StorageManager.kt # อ่าน/เขียน persistent.json ผ่าน SAF
│ │ │ └── UpdateManager.kt # GitHub Releases API & APK Self-Updater
│ │ └── ui/
│ │ ├── MainScreen.kt # หน้าจอหลัก Compose
│ │ ├── Components.kt # SceneCard, Badges, Dialogs
│ │ └── theme/ # Color, Theme, Type
│ └── res/
│ ├── values/ # strings.xml, colors.xml, themes.xml
│ └── xml/file_paths.xml # FileProvider path สำหรับติดตั้ง APK
├── gradle/
│ ├── libs.versions.toml # Version Catalog
│ └── wrapper/ # Gradle Wrapper 8.9
├── build.gradle.kts
├── settings.gradle.kts
└── gradlew / gradlew.bat
```
---
## 🛠️ วิธีการเปิดและคอมไพล์โปรเจกต์ (How to Build)
### 1. เปิดผ่าน Android Studio (แนะนำ)
1. เปิดโปรแกรม **Android Studio**
2. เลือก **Open** แล้วชี้ไปที่โฟลเดอร์ `Android APK`
3. รอ Android Studio ซิงค์ Gradle ให้เสร็จสิ้น
4. เลือกเมนู **Build** > **Build Bundle(s) / APK(s)** > **Build APK(s)** หรือกด Run ลงบนโทรศัพท์ Android / Emulator
### 2. คอมไพล์ผ่าน Command Line (CLI)
เปิด Terminal หรือ PowerShell ที่โฟลเดอร์ `Android APK`:
```bash
# คอมไพล์ Debug APK
./gradlew assembleDebug
# คอมไพล์ Release APK
./gradlew assembleRelease
```
ไฟล์ APK ที่สร้างเสร็จจะอยู่ที่:
`app/build/outputs/apk/debug/app-debug.apk`