コード例 #1
0
    /// <summary>
    /// Populate UI from song data
    /// </summary>
    public void LoadFromSong()
    {
        nameField.text       = Song.songName;
        subNameField.text    = Song.songSubName;
        songAuthorField.text = Song.songAuthorName;
        authorField.text     = Song.levelAuthorName;

        BroadcastMessage("OnValidate"); // god unity why are you so dumb

        coverImageField.text = Song.coverImageFilename;
        audioPath.text       = Song.songFilename;

        offset.text = Song.songTimeOffset.ToString(CultureInfo.InvariantCulture);
        if (Song.songTimeOffset > 0)
        {
            PersistentUI.Instance.ShowDialogBox("SongEditMenu", "songtimeoffset.warning", null,
                                                PersistentUI.DialogBoxPresetType.Ok);
        }

        bpmField.text       = Song.beatsPerMinute.ToString(CultureInfo.InvariantCulture);
        prevStartField.text = Song.previewStartTime.ToString(CultureInfo.InvariantCulture);
        prevDurField.text   = Song.previewDuration.ToString(CultureInfo.InvariantCulture);

        environmentDropdown.ClearOptions();
        environmentDropdown.AddOptions(VanillaEnvironments.Select(it => it.humanName).ToList());
        environmentDropdown.value = GetEnvironmentIDFromString(Song.environmentName);

        customPlatformsDropdown.ClearOptions();
        customPlatformsDropdown.AddOptions(new List <String> {
            "None"
        });
        customPlatformsDropdown.AddOptions(CustomPlatformsLoader.Instance.GetAllEnvironmentIds());

        customPlatformsDropdown.value = CustomPlatformFromSong();
        if (customPlatformsDropdown.value == 0)
        {
            customPlatformsDropdown.captionText.text = "None";
        }

        contributorController.UndoChanges();

        ReloadAudio();
    }