Core.Object | +--Engine.Actor | +--Engine.Triggers | +--Engine.MusicEvent
byte
CdTrack
music
Song
SongSection
EMusicTransition
Transition
bool
bAffectAllPlayers
bOnceOnly
bSilence
void
BeginPlay()
// When gameplay starts.
Trigger(Actor Other, Pawn EventInstigator)
// When triggered.
00001 //============================================================================= 00002 // MusicEvent. 00003 //============================================================================= 00004 class MusicEvent extends Triggers; 00005 00006 // Variables. 00007 var() music Song; 00008 var() byte SongSection; 00009 var() byte CdTrack; 00010 var() EMusicTransition Transition; 00011 var() bool bSilence; 00012 var() bool bOnceOnly; 00013 var() bool bAffectAllPlayers; 00014 00015 // When gameplay starts. 00016 function BeginPlay() 00017 { 00018 if( Song==None ) 00019 { 00020 Song = Level.Song; 00021 } 00022 if( bSilence ) 00023 { 00024 SongSection = 255; 00025 CdTrack = 255; 00026 } 00027 } 00028 00029 // When triggered. 00030 function Trigger( actor Other, pawn EventInstigator ) 00031 { 00032 local PlayerPawn P; 00033 local Pawn A; 00034 00035 if( bAffectAllPlayers ) 00036 { 00037 A = Level.PawnList; 00038 While ( A != None ) 00039 { 00040 if ( A.IsA('PlayerPawn') ) 00041 PlayerPawn(A).ClientSetMusic( Song, SongSection, CdTrack, Transition ); 00042 A = A.nextPawn; 00043 } 00044 } 00045 else 00046 { 00047 // Only affect the one player. 00048 P = PlayerPawn(EventInstigator); 00049 if( P==None ) 00050 return; 00051 00052 // Go to music. 00053 P.ClientSetMusic( Song, SongSection, CdTrack, Transition ); 00054 } 00055 00056 // Turn off if once-only. 00057 if( bOnceOnly ) 00058 { 00059 SetCollision(false,false,false); 00060 disable( 'Trigger' ); 00061 } 00062 } 00063 00064 defaultproperties 00065 { 00066 CdTrack=255 00067 Transition=MTRAN_Fade 00068 bAffectAllPlayers=True 00069 }