导图社区 m8
mini原项目代码大致框架摸索思维导图
编辑于2020-08-03 19:00:51main
Start
pubmain
Initialize
pubcore.framework.OnInitialize=pass
Start
OnReplaceSetting(加载用户设置)
pubbigdata.framework.OnStarted
IF pubdelegate.IsCHeckNetWorkSegment
pubsolt.Connect
pubcore.framework.OnStarted
IF pubdelegate.IsCHeckNetWorkSegment
pubcore.misc.CheckNetWorkSegment
IF pubdelegate.IsCheckCCName
misc.InitCCName
pubduonet.framework.OnStarted
pubduonet.DNInit
pubfilemgr.framework.OnStarted
pubfilemgr.InitPubDataPath
accoount.LoadInitParam(账号管理)
start.Start(游戏启动初始化环境)
utils.argv.SetupArgs(运行参数设置)
gameini.Init
gameinit.context.Init
interface.Wrap(接口封装)
gamesign.Init
初始化设备游戏标记
savedata.launchcheck.GameLaunchCheck(检查存储路径及文件)
context.EngineInitByPlatform(加载配置文件,设置窗口)
gc.disable(关闭GC自动清理)
C_marshal.set_version
locallib.Init(使用本地动态库)
proj_ini.Start
CproProcess.GetInstance.Start
step1:加载基础内容显示界面
pro_ini.context.step1
public.ui.comuidelegate.Replace
UICTRL=ui.f1uidelegate
ui.f1widget.Init
event.touch.Init
public.ui.comevent(定义时间接受器)
comeventcomponent
comtouchdispatch
ITouchComponent
debug.loadcehuadata.loadcehuadata() 导表?
dlglaunch.ShowDlg(展示logo和背景图)
step2:一般化初始化内容(LOGO初始化之后)
pro_ini.context.step2
camera.Init
ccamera
game2.config
config.Init
fontmisc.InitFont
public.ui.comfontmisc.InitFont(读本地配置,初始化文字)
misc.GetPngSize
uitl.myjson.load(pngjson.json)(图片大小设置)
worldtime.ResetClientTime
commom/misc.py:sys.GetTime
ui.dialogmgr.Init
CPCDialogmgr(PC模式界面管理)
config.audiosetmgr.Init
game2/(初始化环境音效)
world.InitSceneMgr
game.scenemgr(全局场景管理器)
pro_ini.context.StepLoadDtata
data.load
EffectFrame.json
tipsdata
step3:数据初始化
pro_ini.context.step3
config.videosetmgr.Init
CVideoSet.InitVideoSet
debug.outputdialog.InitDebugDialog(debug UI 管理)
step4:加载登录界面
dlglaunch.continue(1)(调整动作序列)
pro_ini.context.step4
game/prop.load(加载道具)
InitProp-->propdata
InitWalkerProp-->walkerprop
handdispatch.Init(人工调度)
CDragObject
operate.screen.pccontrl.Init
CControlPanel(root.g_3DControlPanel))(控制鼠标按键响应)
debug.Init
ping()
C_game+clientfile
gameplugin.Init
InitSysPath("Resources/tools/exlib")
YBInit
step5:进入loading界面(IF preload.mgr.IsFinish)
dlglaunch.continue(2)
step6:正式进入loading界面,各系统初始化并加载资源
loading.ShowDlg(加载进度条)
Start.__init__._projInitDone
preload.mgr.InitGamePreLoad(process)
CPreLoadProcess.Addtask
preload.task(预加载资源)
CPreLoadProcess.Start
process.OnStart
Loop
pubmain.Loop
pubcore.framework.OnUpdated
pytimer.Loop
timer.Loop
timerfit.Loop
pubnet.framework.OnUpdated
http.NetProcess
CHttpMgr.NetProcess
gameloop.PyLoop
_logicLoop(保证30帧/s)
world.WorldFixLoop
pytimer.Loop(脚本补帧定时器)
net.NetLoop
_viewLoop
world.WorldLoop
view.ViewLoop
camera.Loop
view.walker.v_headinfo.Update
fadeobj.Loop
net.NetLoop2
gameplugin.Loop
debug.fps.Update
pytimer.LateLoop(智能定时器)
建议:将import注释方便阅读
直接使用子类重写的函数