Core.Object | +--Engine.Actor | +--Engine.Triggers | +--XIII.XIIITriggers | +--XIII.TouchTrigger
bool
bActif
bActivableParTrigger
bDesactivableParTrigger
bPawnActivable
00001 //============================================================================= 00002 // TouchTrigger. 00003 //============================================================================= 00004 class TouchTrigger extends XIIITriggers; 00005 00006 VAR() bool bActivableParTrigger; //attend trigger pour s'activer sinon actif des le debut 00007 VAR() bool bDesactivableParTrigger; //si trigger alors se desactive 00008 VAR() bool bPawnActivable; //peut etre active par un pawn sinon seulement XIII 00009 VAR bool bActif; //actif ou pas 00010 00011 EVENT PostBeginplay() 00012 { 00013 bActif=!bActivableParTrigger; 00014 } 00015 00016 EVENT Touch( Actor Other ) 00017 { 00018 if ( bActif && ( ( bPawnActivable && Other.IsA('XIIIPawn') ) || other.IsA('XIIIPlayerPawn') ) ) 00019 { 00020 instigator = pawn(other); 00021 TriggerEvent( event, self, Instigator ); 00022 disable('Touch'); 00023 } 00024 } 00025 00026 EVENT Trigger( Actor Other, Pawn EventInstigator ) 00027 { 00028 LOCAL int i; 00029 00030 if (bActivableParTrigger) 00031 { 00032 bActif=true; 00033 for ( i=0; i<Touching.Length; i++ ) 00034 { 00035 Touch( Touching[i] ); 00036 } 00037 return; 00038 } 00039 if (bDesactivableParTrigger && bActif) 00040 { 00041 bActif=false; 00042 } 00043 } 00044 00045 00046 00047 defaultproperties 00048 { 00049 }