public bool LoadMissionScene(MissionEnum requestMission, LoadMissionBy loadmissionBy = LoadMissionBy.None) { //if (IsMissionSceneExist(requestMission)) //{ CoreContainer.Instance.SetPlayerDisable(); string sceneName; if (requestMission != MissionEnum.None) { sceneName = GenerateSceneName(requestMission); SetCurrentMission(requestMission); SetIsAnonymousScene(false); } else { sceneName = ANONYMOUS_MISSION; SetIsAnonymousScene(true); } m_loadMissionBy = loadmissionBy; SceneLookupEnum sceneEnum = SceneLookup.GetEnum(sceneName, false); if (!m_currentMissionScene.LoadScene(sceneEnum)) { return(false); } return(true); }
private void CloseCGScene() { var config = m_model.SceneInfo; if (!string.IsNullOrEmpty(config.LoadSceneNameOnEnd)) { GameSceneManager.Instance.LoadScene(SceneLookup.GetEnum(config.LoadSceneNameOnEnd, false)); } if (!string.IsNullOrEmpty(config.LoadMissionIDOnEnd)) { MissionSceneManager.Instance.LoadMissionScene(MissionSceneManager.Instance.GetMissionEnumBy(config.LoadMissionIDOnEnd, false)); InvokeHidePanel(); return; } if (m_model.PopScene()) { RefreshInfo(); } else { InvokeHidePanel(); } }
public override void Initialize(UIDataProvider uiDataProvider, UIPanelSettings settings) { base.Initialize(uiDataProvider, settings); m_model.Initialize(this); m_btn_exit_Button.onClick.AddListener(() => { Application.Quit(); }); m_btn_back_Button.onClick.AddListener(() => { var config = m_model.SceneInfo; if (!string.IsNullOrEmpty(config.LoadSceneNameOnEnd)) { GameSceneManager.Instance.LoadScene(SceneLookup.GetEnum(config.LoadSceneNameOnEnd, false)); } if (!string.IsNullOrEmpty(config.LoadMissionIDOnEnd)) { MissionSceneManager.Instance.LoadMissionScene(MissionSceneManager.Instance.GetMissionEnumBy(config.LoadMissionIDOnEnd, false)); } if (m_model.PopScene()) { RefreshInfo(); } else { InvokeHidePanel(); } }); EventManager.Instance.AddEventListener <CGScenePointInfoChangeEvent>(OnCGScenePointInfoChange); }
protected override void Callback() { if (m_isCGScene) { UI.UIManager.Instance().ShowStaticPanel(UIPanelType.UICommonCgscenePanel, new CGSceneDataProvider() { CGSceneID = m_cgSceneName }); CoreContainer.Instance.SetPlayerPosition(transform.position + DirecitonMapping [m_spawnDirection] * m_lengthBetweenTriggerAndSpwanPoint + new Vector3(0.0f, 0.5f, 0.0f)); } else { if (m_teleportedGameScene == "") { Debug.LogError("Teleport scene is not set. Use [Update Teleported Game Scene] to modify the value"); } SceneLookupEnum scene = SceneLookup.GetEnum(m_teleportedGameScene); UI.UIManager.Instance().ShowPanel(UIPanelType.UICommonGameplayTransitionPanel, new CommonGamePlayTransitionDataProvider { m_animationTranstionType = UI.Panels.CommonGamePlayTransitionPanel.AnimationType.FadeIn, m_teleportedSceneName = m_sceneEnumMap[scene] }); GameSceneManager.Instance.LoadScene(scene, m_specificTeleportName, delegate() { MissionSceneManager.Instance.LoadCurrentMissionScene(MissionSceneManager.LoadMissionBy.Teleport); }); } }
protected override void Callback() { if (m_isCGScene) { UI.UIManager.Instance().ShowStaticPanel(UIPanelType.UICommonCgscenePanel, new CGSceneDataProvider() { CGSceneID = m_cgSceneName }); CoreContainer.Instance.SetPlayerPosition(transform.position + DirecitonMapping [m_spawnDirection] * m_lengthBetweenTriggerAndSpwanPoint + new Vector3(0.0f, 0.5f, 0.0f)); } else { if (m_teleportGameScene == "") { Debug.LogError("Teleport scene is not set. Use [Update Teleported Game Scene] to modify the value"); } SceneLookupEnum scene = SceneLookup.GetEnum(m_teleportGameScene); if (MissionSceneManager.Instance.IsGameSceneExistCurrentMission(scene)) { GameSceneManager.Instance.LoadScene(scene); MissionSceneManager.Instance.LoadCurrentMissionScene(); } else { Debug.LogError(m_teleportGameScene + " is not exist mission " + MissionSceneManager.Instance.GetCurrentMission().ToString()); } } }
private void PrintAllValidSceneName() { string [] sceneList = SceneLookup.GetAllSceneString(); foreach (var sceneName in sceneList) { PrintLog(sceneName); } }
public Scene Load(ProjectInfo projectInfo, SceneLookup scene) { var path = GetSceneFilePath(projectInfo, scene); CreateIfNotExists(path); var bytes = _fileService.ReadWithFile(path); return(_serializer.DeserializeData <Scene>(bytes)); }
protected void SaveScene(ProjectInfo projectInfo, Scene item) { var scenePath = GetSceneFilePath(projectInfo, SceneLookup.Create(item)); CreateIfNotExists(scenePath); var bytes = _serializer.SerializeData(item); _fileService.SaveToFile(bytes, scenePath); }
private void CloseCGScene() { var config = m_model.SceneInfo; string sceneName = null; string missionName = null; if (m_storyInfo != null) { if (!m_isShowStory && !string.IsNullOrEmpty(m_storyInfo.config.StoryId)) { m_isShowStory = true; InvokeShowPanel(UIPanelType.UICommonTalkPanel, new TalkDataProvider() { ID = m_storyInfo.config.StoryId, OnTalkEnd = CloseCGScene }); return; } sceneName = m_storyInfo.config.LoadSceneNameOnEnd; missionName = m_storyInfo.config.LoadMissionIDOnEnd; EvidenceDataManager.Instance.RemoveEvidenceStory(m_storyInfo); m_storyInfo = null; } if (!string.IsNullOrEmpty(config.LoadSceneNameOnEnd)) { sceneName = config.LoadSceneNameOnEnd; } if (!string.IsNullOrEmpty(config.LoadMissionIDOnEnd)) { missionName = config.LoadMissionIDOnEnd; } if (!string.IsNullOrEmpty(sceneName)) { GameSceneManager.Instance.LoadScene(SceneLookup.GetEnum(sceneName, false)); } if (!string.IsNullOrEmpty(missionName)) { MissionSceneManager.Instance.LoadMissionScene(MissionSceneManager.Instance.GetMissionEnumBy(missionName, false)); InvokeHidePanel(); return; } if (m_model.PopScene()) { RefreshInfo(); } else { InvokeHidePanel(); } }
public SceneLookupEnum GetTeleportScene() { if (SceneLookup.IsSceneExist(m_teleportedGameScene, false)) { return(SceneLookup.GetEnum(m_teleportedGameScene)); } else { return(SceneLookupEnum.World_Invalid); } }
public void LoadScene(SceneLookupEnum key, LoadSceneMode loadSceneMode) { var scene = Addressables.LoadScene(SceneLookup.GetString(key), loadSceneMode); scene.Completed += (result) => { if (result.Status == AsyncOperationStatus.Succeeded) { m_scene.Add(key, result.Result); } else { Debug.LogError($"场景======{key} 加载失败!!!"); } }; }
static void OnSceneOpened(UnityEngine.SceneManagement.Scene scene, UnityEditor.SceneManagement.OpenSceneMode mode) { CheckForSceneScript(scene, mode); string path = Application.dataPath + SCENE_ROOT_PATH; if (!Directory.Exists(path)) { Debug.LogWarning("Can`t find Assets/Scene. Make sure already execute Assets/Framework/Initialize Framework Directory"); Debug.LogWarning("Cuureent setted path: " + path); return; } string [] files = Directory.GetFiles(path, "*.unity", SearchOption.AllDirectories); EditorBuildSettingsScene [] scenes = new EditorBuildSettingsScene [files.Length]; for (int i = 0; i < files.Length; ++i) { string scenePath = files [i]; scenePath = scenePath.Replace("\\", "/"); scenePath = scenePath.Substring(scenePath.IndexOf("Assets" + SCENE_ROOT_PATH)); scenes [i] = new EditorBuildSettingsScene(scenePath, true); scenes [i].enabled = false; if (files [i].Contains(SceneLookup.GetString(SceneLookupEnum.World_GameRoot))) // == GameRoot { scenes [i].enabled = true; } } EditorBuildSettings.scenes = scenes; if (scenes.Length == 0) { Debug.LogWarning("Generated new build setting contain 0 scene, please check path of scene root"); } Debug.Log("Generated new build setting for scenes"); for (int i = 0; i < scenes.Length; ++i) { Debug.Log("No." + i + "-- Scene Path: " + scenes [i].path); } }
public bool LoadScene(SceneLookupEnum requestSceneEnum) { if (SceneLookup.IsSceneExist(requestSceneEnum)) { if (m_currentSceneEnum != SceneLookupEnum.World_GameRoot) { PrefabManager.Instance.UnloadScene(m_currentSceneEnum); } SetCurrentSceneEnum(requestSceneEnum); PrefabManager.Instance.LoadScene(requestSceneEnum, LoadSceneMode.Additive); StartCoroutine(CheckSceneIsLoaded()); return(true); } else { return(false); } }
static void LoadFirstSceneAtGameBegins() { LogPrinter.ShowSceneInfo(); if (!isPlayFromGameRoot) { return; } if (EditorBuildSettings.scenes.Length == 0) { Debug.LogWarning("The scene build list is empty. Can't play from first scene."); return; } //SceneManager.GetSceneByName(); SceneManager.LoadScene(SceneLookup.GetString(SceneLookupEnum.World_GameRoot), LoadSceneMode.Single); }
private bool LoadScene(string sceneName) { bool isSceneExist = SceneLookup.IsSceneExistNoMatchCase(sceneName); if (isSceneExist) { SceneLookupEnum scene = SceneLookup.GetEnum(sceneName, false); GameSceneManager.Instance.LoadScene(scene); //StarPlatinum.PrefabManager.Instance.LoadScene(scene, UnityEngine.SceneManagement.LoadSceneMode.Additive); return(true); } else { PrintLog("Scene [" + sceneName + "] Is Not Exist! Please check scene name again!"); PrintAllValidSceneName(); return(false); } }
public bool IsGameSceneExistCurrentMission(SceneLookupEnum gameSceneEnum) { if (gameSceneEnum == SceneLookupEnum.World_GameRoot) { Debug.LogError("Game scene enum is invalid"); return(false); } string missionSceneName = GenerateSceneName(m_currentMission, gameSceneEnum); if (SceneLookup.IsSceneExistNoMatchCase(missionSceneName)) { return(true); } else { Debug.LogError("Request scene is not exist: " + missionSceneName); return(false); } }
//For runtime public bool IsMissionSceneExist(MissionEnum mission) { if (GameSceneManager.Instance.GetCurrentSceneEnum() == SceneLookupEnum.World_GameRoot) { Debug.LogError("Current game scene is invalid"); return(false); } string missionSceneName = GenerateSceneName(mission); if (SceneLookup.IsSceneExistNoMatchCase(missionSceneName)) { return(true); } else { Debug.LogError("Request mission scene is not exist: " + mission); return(false); } }
public bool LoadMissionScene(MissionEnum requestMission) { if (IsMissionSceneExist(requestMission)) { CoreContainer.Instance.SetPlayerDisable(); string sceneName = GenerateSceneName(requestMission); SceneLookupEnum sceneEnum = SceneLookup.GetEnum(sceneName, false); SetCurrentMission(requestMission); if (!m_currentMissionScene.LoadScene(sceneEnum)) { return(false); } return(true); } else { return(false); } }
private void LoadCameraRange() { string[] sceneList = SceneLookup.GetAllSceneString(); string scene = ""; GameObject cameraRange; Collider collider; for (int i = 0; i < sceneList.Length; i++) { scene = sceneList[i]; cameraRange = GameObject.Find(scene); if (cameraRange != null) { collider = cameraRange.GetComponent <Collider>(); m_moveRangeDic.Add(scene, collider); } else { m_moveRangeDic.Add(scene, null); } } }
private void ParseCommand(string text) { bool isReadyChangeScene = false; text = text.ToLower(); string [] words = text.Split(' '); foreach (string word in words) { if (word == "loadscene") { isReadyChangeScene = true; continue; } if (isReadyChangeScene) { isReadyChangeScene = false; bool isSceneExist = SceneLookup.IsSceneExist(word, false); if (isSceneExist) { StarPlatinum.PrefabManager.Instance.LoadScene(SceneLookup.GetEnum(word, false), UnityEngine.SceneManagement.LoadSceneMode.Additive); } else { PrintLog("Scene [" + word + "] Is Not Exist! Please check scene name again!"); PrintLog("All Available Scene"); PrintAllValidSceneName(); } continue; } } if (isReadyChangeScene) { isReadyChangeScene = false; PrintLog("All Available Scene"); PrintAllValidSceneName(); } }
private void SetNextAction(StoryAction storyAction) { if (storyAction == null) { EventManager.Instance.SendEvent(new LabelEndEvent() { LabelID = m_currentID }); m_currentID = null; SetActionState(ActionState.Waiting); if (m_nextIDQueue.Count > 0) { return; } if (RecoverRecord()) { return; } InvokeHidePanel(); UIPanelDataProvider.OnTalkEnd?.Invoke(); return; } m_actionType = storyAction.Type; m_curAction = storyAction; SetActionState(ActionState.Actioning); Debug.LogWarning($"当前行为:{m_actionType}"); switch (storyAction.Type) { case StoryActionType.WaitClick: WaitClickEnd(); break; case StoryActionType.Name: SetNameContent(storyAction.Content); break; case StoryActionType.Content: if (m_typewriterCoroutine != null) { StopCoroutine(m_typewriterCoroutine); } m_typewriterCoroutine = StartCoroutine(Typewriter(storyAction.Content)); break; case StoryActionType.Color: m_textHelp.PushColor(storyAction.Content); SetActionState(ActionState.End); break; case StoryActionType.Font: m_textHelp.PushFont(storyAction.Content); SetActionState(ActionState.End); break; case StoryActionType.Jump: var jumpAction = storyAction as StoryJumpAction; if (jumpAction == null) { Debug.LogError("JumpAction null!!!!!!!Please check"); SetActionState(ActionState.End); return; } Debug.Log($"=== options:{jumpAction.Options}"); ShowJumpOption(jumpAction.Options); break; case StoryActionType.Picture: var pictureAction = storyAction as StoryShowPictureAction; if (pictureAction == null) { Debug.LogError("pictureAction null!!!!!!!Please check"); SetActionState(ActionState.End); return; } ShowPicture(pictureAction.Content, pictureAction.Pos); SetActionState(ActionState.End); break; case StoryActionType.Waiting: SetActionState(ActionState.Actioning); if (m_skip == false) { CallbackTime(float.Parse(storyAction.Content), () => { SetActionState(ActionState.End); }); } else { SetActionState(ActionState.End); } break; case StoryActionType.PictureMove: var pictureMoveAction = storyAction as StoryPictureMoveAction; MovePicture(pictureMoveAction.PicID, pictureMoveAction.StartX, pictureMoveAction.StartY, pictureMoveAction.EndX, pictureMoveAction.EndY, pictureMoveAction.Ease, pictureMoveAction.Duration); break; case StoryActionType.FontSize: m_textHelp.PushFontSize(storyAction.Content); SetActionState(ActionState.End); break; case StoryActionType.Bold: m_textHelp.PushBold(); SetActionState(ActionState.End); break; case StoryActionType.ChangeBGM: SetBgm(storyAction.Content); break; case StoryActionType.ChangeEffectMusic: PlayEffectMusic(storyAction.Content); break; case StoryActionType.TypewriterInterval: m_textHelp.TypewriterInterval = float.Parse(storyAction.Content); SetActionState(ActionState.End); break; case StoryActionType.ShowEvidence: InvokeShowPanel(UIPanelType.UICommonDetectiveNotesPanel, new EvidenceDataProvider() { OnShowEvidence = OnSelectEvidenceEnd, IsOnEvidence = true, CurState = CommonMapsTipsEvidencesPanel.ShowState.Evidences, IsShowSelectBtn = true }); return; case StoryActionType.LoadGameScene: GameSceneManager.Instance.LoadScene(SceneLookup.GetEnum(m_curAction.Content, false)); bool result = MissionSceneManager.Instance.LoadCurrentMissionScene(); if (result == false) { Debug.LogError("Current Game Scene: " + m_curAction.Content + " doesn`t contain Mission Scene " + MissionSceneManager.Instance.GetCurrentMissionEnum().ToString()); } SetActionState(ActionState.End); break; case StoryActionType.LoadMission: var action = m_curAction as StoryLoadMissionAction; MissionSceneManager.Instance.SetCurrentMission(action.Mission); MissionSceneManager.Instance.LoadCurrentMissionScene(); //if (MissionSceneManager.Instance.IsMissionSceneExist(action.Mission)) //{ // MissionSceneManager.Instance.LoadMissionScene(action.Mission); //} //else //{ // MissionSceneManager.Instance.LoadMissionScene(MissionEnum.None); //} SetActionState(ActionState.End); break; case StoryActionType.LoadCgScene: UI.UIManager.Instance().ShowStaticPanel(UIPanelType.UICommonCgscenePanel, new CGSceneDataProvider() { CGSceneID = m_curAction.Content }); SetActionState(ActionState.End); break; case StoryActionType.CloseCgScene: if (UIManager.Instance().IsPanelShow(UIPanelType.UICommonCgscenePanel)) { StarPlatinum.TimerService.Instance.AddTimer(0.01f, () => { EventManager.Instance.SendEvent(new CGSceneCloseEvent() { m_cgSceneId = m_curAction.Content }); }); } SetActionState(ActionState.End); break; case StoryActionType.TriggerEvent: var triggerAction = m_curAction as StoryEventAction; EventManager.Instance.SendEvent(triggerAction.Event); SetActionState(ActionState.End); break; case StoryActionType.PlayAnimation: SetActionState(ActionState.End); //TODO:播放动画 break; case StoryActionType.PlayInteractionAnimation: EventManager.Instance.SendEvent(new PlayInteractionAnimationEvent() { m_itemName = m_curAction.Content }); SetActionState(ActionState.End); break; case StoryActionType.ChangeBackground: ShowBG(storyAction.Content); SetActionState(ActionState.End); break; case StoryActionType.Wrap: m_txtPro_content_TextMeshProUGUI.text += '\n'; SetActionState(ActionState.End); break; case StoryActionType.ChangeSoundVolume: int volume = int.Parse(m_curAction.Content); SoundService.Instance.SetVolumePercentage(volume); SetActionState(ActionState.End); break; case StoryActionType.EnterControversy: UIManager.Instance().ShowPanel(UIPanelType.UIJudgmentControversyPanel, new ControversyDataProvider() { ID = m_curAction.Content }); SetActionState(ActionState.End); break; case StoryActionType.CutIn: UIManager.Instance().ShowPanel(UIPanelType.UICommonBreaktheoryPanel, new BreakTheoryDataProvider() { Type = EnumBreakTheoryType.CutIn, ImgKey = m_curAction.Content, CloseCallback = () => { SetActionState(ActionState.End); } }); break; case StoryActionType.LoadSkybox: { StoryLoadSkyboxAction skyboxAction = m_curAction as StoryLoadSkyboxAction; SkyboxManager.Instance().UpdateSkybox(skyboxAction.m_skyEnum); SetActionState(ActionState.End); } break; case StoryActionType.ChangeTalkPanelType: SetTalkPanelType(m_curAction.Content); break; case StoryActionType.ChangeFrontImg: SetFrontImg(m_curAction.Content); break; case StoryActionType.RemoveAllExhibit: EvidenceDataManager.Instance.RemoveAllEvidence(); SetActionState(ActionState.End); break; case StoryActionType.TimeLine: PrefabManager.Instance.LoadAssetAsync <TimelineAsset>(m_curAction.Content, (res) => { if (res.status != RequestStatus.FAIL) { gameObject.SetActive(false); TimelineManager.Instance().PlayTimeline(res.result as TimelineAsset, null, () => { gameObject.SetActive(true); SetActionState(ActionState.End); }); } else { SetActionState(ActionState.End); } }); break; case StoryActionType.AddEvidence: EvidenceDataManager.Instance.AddEvidence(m_curAction.Content); SetActionState(ActionState.End); break; case StoryActionType.RemoveEvidence: EvidenceDataManager.Instance.RemoveEvidence(m_curAction.Content); SetActionState(ActionState.End); break; case StoryActionType.AddTip: Tips.TipsManager.Instance.UnlockTip(m_curAction.Content, Tips.TipsManager.ConvertDateTimeToLong(System.DateTime.Now)); // 添加tip 数据 SetActionState(ActionState.End); break; case StoryActionType.Position: { StoryVector3Action vector3Action = m_curAction as StoryVector3Action; CoreContainer.Instance.SetPlayerPosition(vector3Action.m_vector); SetActionState(ActionState.End); } break; case StoryActionType.Rotation: { StoryVector3Action vector3Action = m_curAction as StoryVector3Action; VMCameraManager.Instance().SetLookAtRotation(vector3Action.m_vector.x, vector3Action.m_vector.y, vector3Action.m_vector.z); SetActionState(ActionState.End); } break; case StoryActionType.GameEvent: { EventManager.Instance.SendEvent(new GameEvent() { EventName = m_curAction.Content }); SetActionState(ActionState.End); } break; default: Debug.LogError($"未处理对话行为:{storyAction.Type}"); break; } }
public void LoadScene(SceneLookupEnum sceneName, SceneLoadMode loadMode, object sceneData = null) { m_currentScene = sceneName; LoadScene(SceneLookup.GetString(sceneName), loadMode, sceneData); CameraService.Instance.UpdateCurrentCamera(); }
public void Remove(ProjectInfo projectInfo, SceneLookup item) { var sceneDirectory = GetSceneFolder(projectInfo, item); _fileService.RemoveDirectory(sceneDirectory); }
private void SetNextAction(StoryAction storyAction) { if (storyAction == null) { EventManager.Instance.SendEvent(new LabelEndEvent() { LabelID = m_currentID }); m_currentID = null; SetActionState(ActionState.Waiting); if (m_nextIDQueue.Count > 0) { return; } if (RecoverRecord()) { return; } InvokeHidePanel(); UIPanelDataProvider.OnTalkEnd?.Invoke(); return; } m_actionType = storyAction.Type; m_curAction = storyAction; SetActionState(ActionState.Actioning); Debug.LogWarning($"当前行为:{m_actionType}"); switch (storyAction.Type) { case StoryActionType.WaitClick: WaitClickEnd(); break; case StoryActionType.Name: SetNameContent(storyAction.Content); break; case StoryActionType.Content: if (m_typewriterCoroutine != null) { StopCoroutine(m_typewriterCoroutine); } m_typewriterCoroutine = StartCoroutine(Typewriter(storyAction.Content)); break; case StoryActionType.Color: m_textHelp.PushColor(storyAction.Content); SetActionState(ActionState.End); break; case StoryActionType.Font: m_textHelp.PushFont(storyAction.Content); SetActionState(ActionState.End); break; case StoryActionType.Jump: var jumpAction = storyAction as StoryJumpAction; if (jumpAction == null) { Debug.LogError("JumpAction null!!!!!!!Please check"); SetActionState(ActionState.End); return; } Debug.Log($"=== options:{jumpAction.Options}"); ShowJumpOption(jumpAction.Options); break; case StoryActionType.Picture: var pictureAction = storyAction as StoryShowPictureAction; if (pictureAction == null) { Debug.LogError("pictureAction null!!!!!!!Please check"); SetActionState(ActionState.End); return; } ShowPicture(pictureAction.Content, pictureAction.Pos); SetActionState(ActionState.End); break; case StoryActionType.Waiting: SetActionState(ActionState.Actioning); if (m_skip == false) { CallbackTime(float.Parse(storyAction.Content), () => { SetActionState(ActionState.End); }); } else { SetActionState(ActionState.End); } break; case StoryActionType.PictureMove: var pictureMoveAction = storyAction as StoryPictureMoveAction; MovePicture(pictureMoveAction.PicID, pictureMoveAction.StartX, pictureMoveAction.StartY, pictureMoveAction.EndX, pictureMoveAction.EndY, pictureMoveAction.Ease, pictureMoveAction.Duration); break; case StoryActionType.FontSize: m_textHelp.PushFontSize(storyAction.Content); SetActionState(ActionState.End); break; case StoryActionType.Bold: m_textHelp.PushBold(); SetActionState(ActionState.End); break; case StoryActionType.ChangeBGM: SetBgm(storyAction.Content); break; case StoryActionType.ChangeEffectMusic: PlayEffectMusic(storyAction.Content); break; case StoryActionType.TypewriterInterval: m_textHelp.TypewriterInterval = float.Parse(storyAction.Content); SetActionState(ActionState.End); break; case StoryActionType.ShowEvidence: InvokeShowPanel(UIPanelType.UICommonMapsTipsEvidencesPanel, new EvidenceDataProvider() { OnShowEvidence = OnSelectEvidenceEnd, IsOnEvidence = true, CurState = CommonMapsTipsEvidencesPanel.ShowState.Evidences }); return; case StoryActionType.LoadGameScene: GameSceneManager.Instance.LoadScene(SceneLookup.GetEnum(m_curAction.Content, false)); bool result = MissionSceneManager.Instance.LoadCurrentMissionScene(); if (result == false) { Debug.LogError("Current Game Scene: " + m_curAction.Content + " doesn`t contain Mission Scene " + MissionSceneManager.Instance.GetCurrentMission().ToString()); } break; case StoryActionType.LoadMission: var action = m_curAction as StoryLoadMissionAction; MissionSceneManager.Instance.LoadMissionScene(action.Mission); break; case StoryActionType.TriggerEvent: var triggerAction = m_curAction as StoryEventAction; EventManager.Instance.SendEvent(triggerAction.Event); SetActionState(ActionState.End); return; case StoryActionType.PlayAnimation: SetActionState(ActionState.End); //TODO:播放动画 return; case StoryActionType.ChangeBackground: ShowBG(storyAction.Content); SetActionState(ActionState.End); break; case StoryActionType.Wrap: m_content.text += '\n'; SetActionState(ActionState.End); break; case StoryActionType.ChangeSoundVolume: int volume = int.Parse(m_curAction.Content); SoundService.Instance.SetVolumePercentage(volume); SetActionState(ActionState.End); break; default: Debug.LogError($"未处理对话行为:{storyAction.Type}"); break; } }
protected virtual string GetSceneFolder(ProjectInfo projectInfo, SceneLookup lookup) { var scenesFolder = GetSceneFolder(projectInfo); return(_fileService.CombinePath(scenesFolder, lookup.Id.ToString())); }
protected virtual string GetSceneFilePath(ProjectInfo projectInfo, SceneLookup lookup) { var sceneFolder = GetSceneFolder(projectInfo, lookup); return(_fileService.CombinePath(sceneFolder, SceneFileName)); }
public void LoadScene(SceneLookupEnum key, LoadSceneMode loadSceneMode) { Addressables.LoadScene(SceneLookup.GetString(key), loadSceneMode); SceneManager.Instance().SetCurrentScene(key); }
public SceneLookupEnum GetTeleportScene() { return(SceneLookup.GetEnum(m_teleportGameScene)); }