Jumpvalley 0.7.0
An app and library that can be used to test and run 3D platformer levels! Made with Godot.
Loading...
Searching...
No Matches
UTheCat.Jumpvalley.Core.Music.MusicZonePlayer Class Reference

MusicPlayer that handles the playback of Playlists with music zones in mind.
Music zone logic is handled like how it is in Eternal Towers of Hell. This means that whenever a player enters a music zone, the zone's playlist gets played.
In order for music to play when the player is outside a music zone, a primary playlist must be set. This playlist will get played when outside of the music zones.

It's important to note that MusicZonePlayer will only update CurrentPlaylist once per process frame for stability reasons (as long as the calling of MusicZonePlayer's _Process() function hasn't been disabled). More...

Inheritance diagram for UTheCat.Jumpvalley.Core.Music.MusicZonePlayer:
UTheCat.Jumpvalley.Core.Music.MusicPlayer

Public Member Functions

void Remove (MusicZone zone)
 Deregisters a music zone from playback.
void Add (MusicZone zone)
 Registers a MusicZone for playback by this music player.
override void _Process (double delta)
new void Dispose ()
Public Member Functions inherited from UTheCat.Jumpvalley.Core.Music.MusicPlayer
virtual void ApplyOverrides (Playlist playlist)
 Method that can be overriden to define how playlists added to this music player should have their properties overriden. By default, overrides defined in the MusicPlayer class are applied here.
void RemovePlaylist (Playlist playlist)
 Removes a playlist from this MusicPlayer. This will cause this MusicPlayer to no longer make changes to the removed Playlist.
void AddPlaylist (Playlist playlist)
 Adds a playlist to this MusicPlayer. This will let this MusicPlayer make some changes to the added playlist.
new void Dispose ()

Public Attributes

Vector3 GlobalPosition = Vector3.Zero
 3D position in global-space coordinates that will be used to check whether or not we're currently inside a music zone
Node3D BindedNode = null
 If this is set to a node, the node's global-space position will be used to check whether or not we're currently inside a music zone, instead of the global-space position specified at GlobalPosition
Public Attributes inherited from UTheCat.Jumpvalley.Core.Music.MusicPlayer
bool OverrideTransitionTime = false
 Whether or not the a playlist's volume transition time will get set to MusicPlayer.TransitionTime whenever it gets played or faded out by this music player.
double TransitionTime = 0
 Playlists played by this music player will have their volume transition time set to the value of this variable whenever OverrideTransitionTime is set to true,.
bool OverrideSongStreamHandlingMode = false
 Whether or not playlist handled by this music player should have their Playlist.SongStreamHandlingMode property overriden to the value of this music player's SongStreamHandlingMode variable.
bool ShouldSetPlaylistParent
 Whether or not this MusicPlayer should add/remove this music player as a parent when the AddPlaylist and RemovePlaylist methods are called.

Protected Member Functions

override void RefreshPlayback ()
 Updates the playback status of the music.
Protected Member Functions inherited from UTheCat.Jumpvalley.Core.Music.MusicPlayer
void OnMusicPlayerSongChanged (SongChangedArgs args)

Properties

List< MusicZoneZones = new List<MusicZone>() [get]
 The list of MusicZones that can be played by this MusicZonePlayer
Properties inherited from UTheCat.Jumpvalley.Core.Music.MusicPlayer
List< PlaylistPlaylists [get]
 Playlists currently being handled by this MusicPlayer. Even though MusicPlayer handles PrimaryPlaylist, PrimaryPlaylist isn't inclued in this list by default.
Playlist CurrentPlaylist [get, protected set]
 The playlist that's currently being played by the MusicPlayer.
bool OverrideLocalVolumeScale [get, set]
 Whether or not Playlist.LocalVolumeScale will get set to VolumeScale for PrimaryPlaylist and playlists in the Playlist list. Setting this to true automatically causes the playlists' LocalVolumeScale to be set in the aforementioned manner.
double VolumeScale [get, set]
 PrimaryPlaylist and playlists in the Playlist list will have their LocalVolumeScale set to the value of this variable whenever OverrideLocalVolumeScale is set to true,
Playlist.SongStreamHandlingModeFlags SongStreamHandlingMode [get, set]
 The song stream handling mode that the playlists handled by this music player should use if OverrideSongStreamHandlingMode is set to true.
Playlist PrimaryPlaylist [get, set]
 The MusicPlayer's primary playlist. If set, this playlist will be played whenever IsPlaying is set to true.
bool IsPlaying [get, set]
 Whether or not the playlist is currently playing any music
Setting this value to false will stop the music (with the fade transition).

Additional Inherited Members

Events inherited from UTheCat.Jumpvalley.Core.Music.MusicPlayer
EventHandler< SongChangedArgsSongChanged
 Event that's raised when the song currently being played by this instance of MusicPlayer changes.
This event is meant to wrap individual raisings of Playlist's SongChanged event in order to make it easier for developers to adapt to song changes regardless of what Playlist is being played.

Detailed Description

MusicPlayer that handles the playback of Playlists with music zones in mind.
Music zone logic is handled like how it is in Eternal Towers of Hell. This means that whenever a player enters a music zone, the zone's playlist gets played.
In order for music to play when the player is outside a music zone, a primary playlist must be set. This playlist will get played when outside of the music zones.

It's important to note that MusicZonePlayer will only update CurrentPlaylist once per process frame for stability reasons (as long as the calling of MusicZonePlayer's _Process() function hasn't been disabled).

Member Function Documentation

◆ Add()

void UTheCat.Jumpvalley.Core.Music.MusicZonePlayer.Add ( MusicZone zone)
inline

Registers a MusicZone for playback by this music player.

Parameters
zoneThe MusicZone

◆ RefreshPlayback()

override void UTheCat.Jumpvalley.Core.Music.MusicZonePlayer.RefreshPlayback ( )
inlineprotectedvirtual

Updates the playback status of the music.

Reimplemented from UTheCat.Jumpvalley.Core.Music.MusicPlayer.

◆ Remove()

void UTheCat.Jumpvalley.Core.Music.MusicZonePlayer.Remove ( MusicZone zone)
inline

Deregisters a music zone from playback.

Parameters
zone

The documentation for this class was generated from the following file: