Esempio n. 1
0
    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);
    }
Esempio n. 2
0
    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);
    }
Esempio n. 3
0
    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);
    }
Esempio n. 4
0
    void Start()
    {
        sceneData = SceneNavigator.Instance.GetSceneData <SongEditorSceneData>(CreateDefaultSceneData());

        Debug.Log($"Start editing of '{sceneData.SelectedSongMeta.Title}' at {sceneData.PositionInSongMillis} milliseconds.");
    }