示例#1
0
        public void EnterScene(int sceneId)
        {
            ConfigScene cfgScene = ModuleContext.tableModule.GetConfigScene(sceneId);

            if (cfgScene == null)
            {
                GameLog.Error("SceneService invalid sceneId({0})", sceneId);
                return;
            }

            SceneEntity sceneData = EntityContext.sceneEntity;

            if (sceneData != null)
            {
                if (sceneData.sceneId == sceneId)
                {
                    return;
                }
                SceneLogic.OnLeave(sceneData);
            }

            SceneBuilder2 builder = new SceneBuilder2(sceneId);

            builder.LoadConfig(cfgScene);
            builder.LoadLevel();
            //TODO:more action in builder
            sceneData = builder.GetSceneEntity();
            EntityContext.sceneEntity = sceneData;
            SceneLogic.OnEnter(sceneData);
        }
示例#2
0
 public SceneObject CreateSceneObj(ConfigScene cfg)
 {
     _scenObj              = new SceneObject();
     _scenObj.cfgScene     = cfg;
     _scenObj.sceneName    = cfg.m_Name;
     _scenObj.sceneType    = cfg.m_Type;
     _scenObj.sceneResName = cfg.m_Res;
     return(_scenObj);
 }
示例#3
0
        public void ChangeGameScene(int sceneId)
        {
            ConfigScene cfgScene = GameContext.tableModule.GetConfigScene(sceneId);

            if (cfgScene == null)
            {
                GameLog.Error("ConfigScene miss.invalid sceneId({0})", sceneId);
                return;
            }

            if (GameContext.gameConfig.isSvrScene)
            {
                // TODO:发送消息到服务器,请求切换场景
            }
            else
            {
                GameContext.procedureSrv.ChangeProcedure("GameScene", sceneId);
            }
        }
示例#4
0
 public void LoadConfig(ConfigScene cfgScene)
 {
     _entity.sceneName = cfgScene.m_Name;
     _entity.sceneType = cfgScene.m_Type;
     _entity.sceneRes  = cfgScene.m_Res;
 }