Core.Object | +--Engine.Actor | +--Engine.Info | +--Engine.ZoneInfo | +--Arena.ArenaZone
name
ArenaMatchBeginEvent
ArenaMatchEndEvent
bool
bBlockWeapons
void
BeginArenaMatch()
simulated
Debug(Canvas canvas, int mode)
EndArenaMatch()
00001 //============================================================================= 00002 // ArenaZone. 00003 //============================================================================= 00004 class ArenaZone extends ZoneInfo; 00005 00006 var() bool bBlockWeapons; 00007 var() name ArenaMatchBeginEvent; 00008 var() name ArenaMatchEndEvent; 00009 00010 event ActorEntered( actor Other ) 00011 { 00012 local vector VectLoc; 00013 00014 if(!bBlockWeapons) 00015 return; 00016 00017 if(Other.IsA('Weapon') && (Other.GetStateName() == 'Throw' || Other.GetStateName() == 'Settling')) 00018 Other.Velocity = -Other.Velocity; 00019 } 00020 00021 function BeginArenaMatch() 00022 { 00023 local actor A; 00024 00025 //slog("BeginArenaMatch"); 00026 if(ArenaMatchBeginEvent!='' ) 00027 { 00028 foreach AllActors(class 'Actor', A, ArenaMatchBeginEvent) 00029 A.Trigger(Self, None); 00030 } 00031 } 00032 00033 function EndArenaMatch() 00034 { 00035 local actor A; 00036 00037 //slog("EndArenaMatch"); 00038 if(ArenaMatchEndEvent != '') 00039 { 00040 foreach AllActors(class 'Actor', A, ArenaMatchEndEvent) 00041 A.Trigger(Self, None); 00042 } 00043 } 00044 00045 simulated function Debug(Canvas canvas, int mode) 00046 { 00047 local actor A; 00048 00049 Super.Debug(canvas, mode); 00050 00051 if(ArenaMatchBeginEvent != '') 00052 { 00053 foreach AllActors(class'Actor', A, ArenaMatchBeginEvent) 00054 Canvas.DrawLine3D(Location, A.Location, 255, 0, 0); 00055 } 00056 00057 if(ArenaMatchEndEvent != '') 00058 { 00059 foreach AllActors(class'Actor', A, ArenaMatchEndEvent) 00060 Canvas.DrawLine3D(Location, A.Location, 255, 0, 0); 00061 } 00062 } 00063 00064 defaultproperties 00065 { 00066 bBlockWeapons=True 00067 }