示例#1
0
    public SceneData GetDefaultSceneData()
    {
        SongEditorSceneData defaultSceneData = new SongEditorSceneData();

        defaultSceneData.PositionInSongInMillis = 0;
        defaultSceneData.SelectedSongMeta       = GetDefaultSongMeta();

        // Set up PreviousSceneData to directly start the SingScene.
        defaultSceneData.PreviousScene = EScene.SingScene;

        SingSceneData singSceneData = new SingSceneData();

        singSceneData.SelectedSongMeta = defaultSceneData.SelectedSongMeta;
        PlayerProfile        playerProfile  = SettingsManager.Instance.Settings.PlayerProfiles[0];
        List <PlayerProfile> playerProfiles = new List <PlayerProfile>();

        playerProfiles.Add(playerProfile);
        singSceneData.SelectedPlayerProfiles = playerProfiles;

        defaultSceneData.PlayerProfileToMicProfileMap = singSceneData.PlayerProfileToMicProfileMap;
        defaultSceneData.SelectedPlayerProfiles       = singSceneData.SelectedPlayerProfiles;
        defaultSceneData.PreviousSceneData            = singSceneData;

        return(defaultSceneData);
    }
    private void StartSingScene(SongMeta songMeta)
    {
        SingSceneData singSceneData = CreateSingSceneData(songMeta);

        if (singSceneData != null)
        {
            SceneNavigator.Instance.LoadScene(EScene.SingScene, singSceneData);
        }
    }
示例#3
0
 private void ContinueToSingScene()
 {
     if (sceneData.PreviousSceneData is SingSceneData)
     {
         SingSceneData singSceneData = sceneData.PreviousSceneData as SingSceneData;
         singSceneData.PositionInSongInMillis = songAudioPlayer.PositionInSongInMillis;
     }
     SceneNavigator.Instance.LoadScene(sceneData.PreviousScene, sceneData.PreviousSceneData);
 }
示例#4
0
    public SceneData GetDefaultSceneData()
    {
        SingSceneData defaultSceneData = new SingSceneData();

        defaultSceneData.SelectedSongMeta = GetDefaultSongMeta();

        PlayerProfile playerProfile = GetDefaultPlayerProfile();

        defaultSceneData.SelectedPlayerProfiles.Add(playerProfile);
        defaultSceneData.PlayerProfileToMicProfileMap[playerProfile] = GetDefaultMicProfile();

        return(defaultSceneData);
    }
示例#5
0
    private void StartSingScene(SongMeta songMeta)
    {
        SingSceneData singSceneData = new SingSceneData();

        singSceneData.SelectedSongMeta = songMeta;

        List <PlayerProfile> allPlayerProfiles    = PlayerProfileManager.Instance.PlayerProfiles;
        PlayerProfile        defaultPlayerProfile = allPlayerProfiles[0];
        PlayerProfile        playerProfile        = selectedPlayerProfile.OrIfNull(defaultPlayerProfile);

        singSceneData.AddPlayerProfile(playerProfile);

        SceneNavigator.Instance.LoadScene(EScene.SingScene, singSceneData);
    }
示例#6
0
    void Awake()
    {
        // Load scene data from static reference, if any
        sceneData = SceneNavigator.Instance.GetSceneData(sceneData);

        // Fill scene data with default values
        if (sceneData.SelectedSongMeta == null)
        {
            sceneData.SelectedSongMeta = GetDefaultSongMeta();
        }

        if (sceneData.SelectedPlayerProfiles == null || sceneData.SelectedPlayerProfiles.Count == 0)
        {
            sceneData.AddPlayerProfile(GetDefaultPlayerProfile());
        }
    }
示例#7
0
    private void StartSongEditorScene(SongMeta songMeta)
    {
        SongEditorSceneData editorSceneData = new SongEditorSceneData();

        editorSceneData.SelectedSongMeta = songMeta;

        SingSceneData singSceneData = CreateSingSceneData(songMeta);

        if (singSceneData != null)
        {
            editorSceneData.PlayerProfileToMicProfileMap = singSceneData.PlayerProfileToMicProfileMap;
            editorSceneData.SelectedPlayerProfiles       = singSceneData.SelectedPlayerProfiles;
        }
        editorSceneData.PreviousSceneData = sceneData;
        editorSceneData.PreviousScene     = EScene.SongSelectScene;

        SceneNavigator.Instance.LoadScene(EScene.SongEditorScene, editorSceneData);
    }
    public void ContinueToSingScene()
    {
        SingSceneData singSceneData;

        if (sceneData.PreviousSceneData is SingSceneData)
        {
            singSceneData = sceneData.PreviousSceneData as SingSceneData;
        }
        else
        {
            singSceneData = new SingSceneData();
            singSceneData.SelectedSongMeta             = sceneData.SelectedSongMeta;
            singSceneData.SelectedPlayerProfiles       = sceneData.SelectedPlayerProfiles;
            singSceneData.PlayerProfileToMicProfileMap = sceneData.PlayerProfileToMicProfileMap;
        }
        singSceneData.PositionInSongInMillis = songAudioPlayer.PositionInSongInMillis;
        SceneNavigator.Instance.LoadScene(EScene.SingScene, sceneData.PreviousSceneData);
    }
    private SingSceneData CreateSingSceneData(SongMeta songMeta)
    {
        SingSceneData singSceneData = new SingSceneData();

        singSceneData.SelectedSongMeta = songMeta;

        List <PlayerProfile> selectedPlayerProfiles = playerProfileListController.GetSelectedPlayerProfiles();

        if (selectedPlayerProfiles.IsNullOrEmpty())
        {
            UiManager.Instance.CreateWarningDialog("No player selected", "Select a player profile for singing.\n New player profiles can be create in the settings.");
            return(null);
        }
        singSceneData.SelectedPlayerProfiles = selectedPlayerProfiles;

        PlayerProfileToMicProfileMap playerProfileToMicProfileMap = playerProfileListController.GetSelectedPlayerProfileToMicProfileMap();

        singSceneData.PlayerProfileToMicProfileMap = playerProfileToMicProfileMap;
        return(singSceneData);
    }
    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);
    }
示例#11
0
    private SingSceneData CreateSingSceneData(SongMeta songMeta)
    {
        SingSceneData singSceneData = new SingSceneData();

        singSceneData.SelectedSongMeta = songMeta;

        List <PlayerProfile> selectedPlayerProfiles = playerProfileListController.GetSelectedPlayerProfiles();

        if (selectedPlayerProfiles.IsNullOrEmpty())
        {
            UiManager.Instance.CreateWarningDialog(
                I18NManager.GetTranslation(R.String.songSelectScene_noPlayerSelected_title),
                I18NManager.GetTranslation(R.String.songSelectScene_noPlayerSelected_message));
            return(null);
        }
        singSceneData.SelectedPlayerProfiles = selectedPlayerProfiles;

        PlayerProfileToMicProfileMap playerProfileToMicProfileMap = playerProfileListController.GetSelectedPlayerProfileToMicProfileMap();

        singSceneData.PlayerProfileToMicProfileMap = playerProfileToMicProfileMap;
        return(singSceneData);
    }
示例#12
0
    private void LoadSceneData()
    {
        // Load scene data from static reference, if any
        sceneData = SceneNavigator.Instance.GetSceneData(sceneData);

        // Fill scene data with default values
        if (sceneData.SelectedSongMeta == null)
        {
            sceneData.SelectedSongMeta = GetDefaultSongMeta();
        }

        if (sceneData.SelectedPlayerProfiles.IsNullOrEmpty())
        {
            PlayerProfile playerProfile = GetDefaultPlayerProfile();
            sceneData.SelectedPlayerProfiles.Add(playerProfile);
            sceneData.PlayerProfileToMicProfileMap[playerProfile] = GetDefaultMicProfile();
        }

        string playerProfilesCsv = string.Join(",", sceneData.SelectedPlayerProfiles.Select(it => it.Name));

        Debug.Log($"[{playerProfilesCsv}] start (or continue) singing of {SongMeta.Title} at {sceneData.PositionInSongInMillis} ms.");
    }
示例#13
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);
    }