Arena
Class ArenaZone

source: c:\runehov\Arena\Classes\ArenaZone.uc
Core.Object
   |
   +--Engine.Actor
      |
      +--Engine.Info
         |
         +--Engine.ZoneInfo
            |
            +--Arena.ArenaZone
Direct Known Subclasses:None

class ArenaZone
extends Engine.ZoneInfo

//============================================================================= // ArenaZone. //=============================================================================
Variables
 name ArenaMatchBeginEvent
 name ArenaMatchEndEvent
 bool bBlockWeapons


Function Summary
 void BeginArenaMatch()
 
simulated
Debug(Canvas canvas, int mode)
 void EndArenaMatch()



Source Code


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	}

End Source Code