/// <summary> /// 因为需要从副本里出来后打开副本主界面,所以需要在这个消息响应函数里添加打开界面逻辑 /// </summary> private void OnEnterSceneFinish() { // Tab_SceneClass lastSceneClass = TableManager.GetSceneClassByID(GameManager.gameManager.LastRunningScene, 0); // if (lastSceneClass != null) // { // if (lastSceneClass.Type == (int)Games.GlobeDefine.GameDefine_Globe.SCENE_TYPE.SCENETYPE_STORYCOPYSCENE && // !GameManager.gameManager.ActiveScene.IsCopyScene()) // { // UIManager.ShowUI(UIInfo.Activity); // } // } // 如果进入了剧情副本,则创建相应的触发器和动态阻挡 if (GameManager.gameManager.ActiveScene.IsStoryCopyScene()) { Tab_SceneClass scLine = TableManager.GetSceneClassByID(GameManager.gameManager.RunningScene, 0); if (scLine != null) { Tab_StoryCopyScene scsLine = TableManager.GetStoryCopySceneByID(scLine.CopySceneID, 0); if (scsLine != null) { // 阻挡 string dynamicObstacleStr = scsLine.ObstaclesID; string[] dynamicObstacles = dynamicObstacleStr.Split('_'); foreach (string s in dynamicObstacles) { int id = -1; if (int.TryParse(s, out id)) { Tab_DynamicObstacle doLine = TableManager.GetDynamicObstacleByID(id, 0); if (doLine != null) { DynamicObstacle.CreateObstacle(id); } else { LogModule.ErrorLog("Cant find dynamicObstacle {0}", id); } } else { LogModule.ErrorLog("Cant read dynamicObstacle id from {0} in StoryCopyScene {1}", dynamicObstacleStr, scLine.CopySceneID); } } // 改为服务器给客户端发包创建 // // 触发器 // Tab_StoryCopySceneFlow scsfLine = TableManager.GetStoryCopySceneFlowByID(scLine.CopySceneID, 0); // if (scsfLine != null) // { // int triggerCnt = scsfLine.getTriggerCount(); // for (int i = 0; i < triggerCnt; i++) // { // int triggerId = scsfLine.GetTriggerbyIndex(i); // if (triggerId != -1) // { // if (!CabalTrigger.CreateTrigger(triggerId)) // { // LogModule.ErrorLog("Create trigger failed when enter storyCopyScene {0}", scLine.CopySceneID); // } // } // } // } // else // { // LogModule.ErrorLog("Cant find StoryCopySceneFlow {0}", scLine.CopySceneID); // } } else { LogModule.ErrorLog("Cant find StoryCopyScene {0}", scLine.CopySceneID); } } } }