// 由GameScene调用 // 进入流程 public void init(SceneProcedure lastProcedure, string intent) { // 如果父节点还没有初始化,则先初始化父节点 if (mParentProcedure != null && !mParentProcedure.mInited) { mParentProcedure.init(lastProcedure, intent); // 退出父节点自身而进入子节点 mParentProcedure.onExitToChild(this); mParentProcedure.onExitSelf(); } // 再初始化自己,如果是从子节点返回到父节点,则需要调用另外一个初始化函数 if (lastProcedure != null && lastProcedure.isThisOrParent(mType)) { onInitFromChild(lastProcedure, intent); } else { onInit(lastProcedure, intent); } mInited = true; }