forked from datawhale/whale-town-front
- 更新 ProjectPaths.gd 中的路径引用,适配新的目录结构 - 修复 SceneManager.gd 中的场景路径问题 - 更新 project.godot 配置,修复 AutoLoad 路径 - 修复 MainScene 相关文件的 UID 冲突 - 解决代码中的路径引用警告
107 lines
4.3 KiB
GDScript
107 lines
4.3 KiB
GDScript
# ============================================================================
|
|
# 项目路径配置 - ProjectPaths.gd
|
|
#
|
|
# 统一管理项目中所有路径常量,确保路径的一致性和可维护性
|
|
#
|
|
# 使用方式:
|
|
# var scene_path = ProjectPaths.SCENES_COMPONENTS + "ui/Button.tscn"
|
|
# var config_path = ProjectPaths.DATA_CONFIG + "game_config.json"
|
|
# ============================================================================
|
|
|
|
class_name ProjectPaths
|
|
|
|
# ============================================================================
|
|
# 核心系统路径
|
|
# ============================================================================
|
|
const CORE_ROOT = "res://_Core/"
|
|
const CORE_MANAGERS = CORE_ROOT + "managers/"
|
|
const CORE_SYSTEMS = CORE_ROOT + "systems/"
|
|
|
|
# ============================================================================
|
|
# 场景路径
|
|
# ============================================================================
|
|
const SCENES_ROOT = "res://scenes/"
|
|
const SCENES_MAPS = SCENES_ROOT + "Maps/"
|
|
const SCENES_COMPONENTS = SCENES_ROOT + "Components/"
|
|
const SCENES_UI_COMPONENTS = SCENES_COMPONENTS + "ui/"
|
|
const SCENES_CHARACTER_COMPONENTS = SCENES_COMPONENTS + "characters/"
|
|
const SCENES_EFFECT_COMPONENTS = SCENES_COMPONENTS + "effects/"
|
|
const SCENES_ITEM_COMPONENTS = SCENES_COMPONENTS + "items/"
|
|
|
|
# ============================================================================
|
|
# UI路径
|
|
# ============================================================================
|
|
const UI_ROOT = "res://scenes/ui/"
|
|
const UI_WINDOWS = UI_ROOT
|
|
|
|
# ============================================================================
|
|
# 资源路径
|
|
# ============================================================================
|
|
const ASSETS_ROOT = "res://assets/"
|
|
const ASSETS_SPRITES = ASSETS_ROOT + "sprites/"
|
|
const ASSETS_AUDIO = ASSETS_ROOT + "audio/"
|
|
const ASSETS_FONTS = ASSETS_ROOT + "fonts/"
|
|
const ASSETS_MATERIALS = ASSETS_ROOT + "materials/"
|
|
const ASSETS_SHADERS = ASSETS_ROOT + "shaders/"
|
|
|
|
# ============================================================================
|
|
# 数据路径
|
|
# ============================================================================
|
|
const DATA_ROOT = "res://data/"
|
|
const DATA_CONFIG = "res://Config/"
|
|
const DATA_SCENES = DATA_ROOT + "scenes/"
|
|
const DATA_LEVELS = DATA_ROOT + "levels/"
|
|
const DATA_DIALOGUES = DATA_ROOT + "dialogues/"
|
|
|
|
# ============================================================================
|
|
# Web资源路径
|
|
# ============================================================================
|
|
const WEB_ASSETS = "res://web_assets/"
|
|
|
|
# ============================================================================
|
|
# 测试路径
|
|
# ============================================================================
|
|
const TESTS_ROOT = "res://tests/"
|
|
const TESTS_UNIT = TESTS_ROOT + "unit/"
|
|
const TESTS_INTEGRATION = TESTS_ROOT + "integration/"
|
|
const TESTS_AUTH = TESTS_ROOT + "auth/"
|
|
|
|
# ============================================================================
|
|
# 工具路径
|
|
# ============================================================================
|
|
const UTILS_ROOT = "res://_Core/utils/"
|
|
|
|
# ============================================================================
|
|
# 模块路径
|
|
# ============================================================================
|
|
const MODULES_ROOT = "res://module/"
|
|
|
|
# ============================================================================
|
|
# 辅助方法
|
|
# ============================================================================
|
|
|
|
# 获取场景组件路径
|
|
static func get_component_path(category: String, component_name: String) -> String:
|
|
match category:
|
|
"ui":
|
|
return SCENES_UI_COMPONENTS + component_name + ".tscn"
|
|
"characters":
|
|
return SCENES_CHARACTER_COMPONENTS + component_name + ".tscn"
|
|
"effects":
|
|
return SCENES_EFFECT_COMPONENTS + component_name + ".tscn"
|
|
"items":
|
|
return SCENES_ITEM_COMPONENTS + component_name + ".tscn"
|
|
_:
|
|
return SCENES_COMPONENTS + component_name + ".tscn"
|
|
|
|
# 获取模块路径
|
|
static func get_module_path(module_name: String) -> String:
|
|
return MODULES_ROOT + module_name + "/"
|
|
|
|
# 获取模块配置路径
|
|
static func get_module_config_path(module_name: String) -> String:
|
|
return get_module_path(module_name) + "data/module_config.json"
|
|
|
|
# 获取场景数据路径
|
|
static func get_scene_data_path(scene_name: String) -> String:
|
|
return DATA_SCENES + scene_name.to_lower() + ".json" |