This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
frame/game 是游戏SDK封装或小游戏容器集成模块,主要提供了Android原生应用与基于Cocos2d-x引擎的游戏之间的双向通信桥梁。
IGameApp (游戏应用接口)
IGameApp.loadGame(gameAppInfo, isGameInit)callGame() 调用游戏方法,addNativeMethod() 注册原生方法GameAppImpl (游戏应用实现)
BaseFrame<IListener> 和 JsbBridge.ICallback 实现methodMap) 和回调映射 (callbackMap)IGameEngine (游戏引擎接口)
IGameViewModel,提供游戏引擎层面的抽象enterGame() 方法兼容引擎延迟销毁问题GameNativeBridge (原生桥接)
onCreateNative(activity, gamePath)Cocos服务集成
SDKWrapper 提供Cocos2d-x引擎的SDK生命周期管理service.json 配置)Android原生应用 ↔ GameAppImpl ↔ JsbBridge ↔ Cocos2d-x游戏
↕
GameNativeBridge (JNI)
callGame(methodName, data, callback) → JsbBridge → 游戏JS/C++onScript() → 注册的原生方法GameErrorCode 枚举 (10001-10011)frame/base:基础框架 (必需)frame/mvvm:MVVM架构支持frame/coroutine:协程工具frame/log:日志系统frame/data:数据转换工具frame/util:通用工具external/libcocos2dx:Cocos2d-x引擎集成IGameApp.kt:10 - 游戏应用工厂方法入口GameAppImpl.kt:90-94 - 核心游戏通信逻辑GameAppImpl.kt:111-205 - 游戏回调处理机制GameData.kt:74-87 - 错误码定义SDKWrapper.java:100-106 - Cocos SDK初始化逻辑addNativeMethod() 注册原生方法前,确保实现 IGameNativeMethod<T,R> 接口IGameNativeCallback 返回结果GameErrorCode,避免自定义错误码ConcurrentHashMap 等线程安全容器