Core.Object | +--Engine.Actor | +--Engine.Info | +--XIII.MapInfo | +--XIDMaps.Map05_Heliport
int
StackPointer
float
TriggerDelay
void
SetGoalComplete(int N)
00001 //----------------------------------------------------------- 00002 // 00003 //----------------------------------------------------------- 00004 class Map05_Heliport extends MapInfo placeable; 00005 00006 VAR bool bInformed; 00007 VAR Pawn PolicemenStack[4]; 00008 VAR float TimeStack[4]; 00009 VAR float TimeStamp; 00010 VAR TRANSIENT int StackPointer; 00011 VAR() float TriggerDelay; 00012 00013 //_____________________________________________________________________________ 00014 EVENT Trigger( Actor Other, Pawn EventInstigator ) 00015 { 00016 LOCAL int i; 00017 00018 // record who had seen XIII and when 00019 for (i=0;i<4;++i) 00020 if (PolicemenStack[i]==none) 00021 { 00022 PolicemenStack[i]=EventInstigator; 00023 TimeStack[i]=TimeStamp; 00024 } 00025 if (GetStateName()!='STA_isWarned') 00026 GotoState('STA_isWarned'); 00027 } 00028 00029 FUNCTION SetGoalComplete(int N) 00030 { 00031 if ( N==0 ) 00032 SetPrimaryGoal(3); 00033 00034 super.SetGoalComplete(N); 00035 } 00036 00037 EVENT Tick(float dt) 00038 { 00039 TimeStamp+=dt; 00040 } 00041 00042 STATE STA_isWarned 00043 { 00044 EVENT Tick(float dt) 00045 { 00046 LOCAL int i; 00047 // LOCAL bool bNoPolicemenInList; 00048 00049 // bNoPolicemenInList=true; 00050 00051 TimeStamp+=dt; 00052 for (i=0;i<4;++i) 00053 { 00054 if (PolicemenStack[i]!=none) 00055 if (PolicemenStack[i].bisdead) 00056 PolicemenStack[i]=none; 00057 else 00058 { 00059 // bNoPolicemenInList=false; 00060 if (TimeStamp-TimeStack[i]>TriggerDelay) 00061 TriggerEvent(event,none,none); 00062 } 00063 00064 } 00065 // if (bNoPolicemenInList) 00066 // { 00067 // GotoState(''); 00068 // } 00069 00070 } 00071 } 00072 00073 00074 00075 defaultproperties 00076 { 00077 TriggerDelay=4.000000 00078 EndMapVideo="cine03" 00079 Tag="XIIIVu" 00080 Event="Goal02" 00081 }