package global import ( "fmt" "main/common" "main/constant" "q5" ) var modules [constant.MAX_MODULE_IDX]q5.Module var initOrders = []int32{ } var app common.App func GetApp() common.App { return app } func RegModule(idx int32, m q5.Module) { fmt.Printf("RegModule module %d\n", idx) modules[idx] = m switch idx { case constant.APP_MODULE_IDX: { app = m.(common.App) } default: { panic("unknow module") } } } func InitModules() { for _, val := range initOrders { fmt.Printf("init module %d\n", val) modules[val].Init() } } func UnInitModules() { for _, val := range initOrders { fmt.Printf("unInit module %d", val) modules[val].UnInit() } }