/** * 资源加载配置 */ export interface ResLoadConfig { /** 是否显示加载进度 */ showProgress?: boolean; /** 加载超时时间(ms) */ timeout?: number; /** 失败重试次数 */ retryCount?: number; } /** * 预加载配置 */ export interface PreloadConfig extends ResLoadConfig { /** 进度回调 */ onProgress?: (finished: number, total: number) => void; } /** * 默认资源加载配置 */ export const DefaultResConfig: ResLoadConfig = { showProgress: false, timeout: 30000, // 30秒超时 retryCount: 3 // 重试3次 }; /** * Bundle配置 */ export interface BundleConfig { /** Bundle名称 */ name: string; /** Bundle路径(可选,默认从远程服务器加载) */ url?: string; } /** * 资源路径配置 * 统一管理常用资源路径 */ export class ResPath { /** UI预制体路径 */ static readonly UI_PREFAB = 'prefabs/ui'; /** 角色预制体路径 */ static readonly ACTOR_PREFAB = 'prefabs/actor'; /** 特效预制体路径 */ static readonly EFFECT_PREFAB = 'prefabs/effect'; /** UI纹理路径 */ static readonly UI_TEXTURE = 'textures/ui'; /** 角色纹理路径 */ static readonly ACTOR_TEXTURE = 'textures/actor'; /** 音效路径 */ static readonly AUDIO_EFFECT = 'audio/effect'; /** 背景音乐路径 */ static readonly AUDIO_MUSIC = 'audio/music'; } /** * 资源类型枚举 */ export enum ResType { /** 预制体 */ PREFAB = 'Prefab', /** 纹理 */ TEXTURE = 'Texture2D', /** 精灵帧 */ SPRITE_FRAME = 'SpriteFrame', /** 音频片段 */ AUDIO_CLIP = 'AudioClip', /** JSON */ JSON = 'JsonAsset', /** 文本 */ TEXT = 'TextAsset', /** 材质 */ MATERIAL = 'Material', /** 动画片段 */ ANIMATION_CLIP = 'AnimationClip' }