private void StartSongEditorScene(SongMeta songMeta) { SongEditorSceneData editorSceneData = new SongEditorSceneData(); editorSceneData.SelectedSongMeta = songMeta; SingSceneData singSceneData = CreateSingSceneData(songMeta); if (singSceneData != null) { editorSceneData.PreviousSceneData = singSceneData; editorSceneData.PreviousScene = EScene.SingScene; } else { editorSceneData.PreviousSceneData = sceneData; editorSceneData.PreviousScene = EScene.SongSelectScene; } SceneNavigator.Instance.LoadScene(EScene.SongEditorScene, editorSceneData); }
public void OpenSongInEditor() { int maxBeatToScore = PlayerControllers .Select(playerController => playerController.PlayerScoreController.NextBeatToScore) .Max(); SceneData.NextBeatToScore = Math.Max((int)CurrentBeat, maxBeatToScore); SceneData.PlayerProfileToScoreDataMap = new Dictionary <PlayerProfile, PlayerScoreControllerData>(); foreach (PlayerController playerController in PlayerControllers) { SceneData.PlayerProfileToScoreDataMap.Add(playerController.PlayerProfile, playerController.PlayerScoreController.ScoreData); } SongEditorSceneData songEditorSceneData = new SongEditorSceneData(); songEditorSceneData.PreviousSceneData = SceneData; songEditorSceneData.PreviousScene = EScene.SingScene; songEditorSceneData.PositionInSongInMillis = PositionInSongInMillis; songEditorSceneData.SelectedSongMeta = SongMeta; SceneNavigator.Instance.LoadScene(EScene.SongEditorScene, songEditorSceneData); }
private SongEditorSceneData CreateDefaultSceneData() { SongEditorSceneData defaultSceneData = new SongEditorSceneData(); defaultSceneData.PositionInSongInMillis = 0; defaultSceneData.SelectedSongMeta = SongMetaManager.Instance.FindSongMeta(defaultSongName); // Set up PreviousSceneData to directly start the SingScene. defaultSceneData.PreviousScene = EScene.SingScene; SingSceneData singSceneData = new SingSceneData(); PlayerProfile playerProfile = SettingsManager.Instance.Settings.PlayerProfiles[0]; List <PlayerProfile> playerProfiles = new List <PlayerProfile>(); playerProfiles.Add(playerProfile); singSceneData.SelectedPlayerProfiles = playerProfiles; defaultSceneData.PreviousSceneData = singSceneData; return(defaultSceneData); }
void Start() { sceneData = SceneNavigator.Instance.GetSceneData <SongEditorSceneData>(CreateDefaultSceneData()); Debug.Log($"Start editing of '{sceneData.SelectedSongMeta.Title}' at {sceneData.PositionInSongMillis} milliseconds."); }