XIDMaps
Class SSH101a

source: C:\XIII\XIDMaps\Classes\SSH101a.uc
Core.Object
   |
   +--Engine.Actor
      |
      +--Engine.Info
         |
         +--XIII.MapInfo
            |
            +--XIDMaps.Map16_SSH1
               |
               +--XIDMaps.SSH101a
Direct Known Subclasses:None

class SSH101a
extends XIDMaps.Map16_SSH1

//----------------------------------------------------------- // //-----------------------------------------------------------
Variables
 int eNbVivants

States
STA_TestMortSoldats

Function Summary
 void FirstFrame()


State STA_TestMortSoldats Function Summary



Source Code


00001	//-----------------------------------------------------------
00002	//
00003	//-----------------------------------------------------------
00004	class SSH101a extends Map16_SSH1;
00005	
00006	// 0 - Trouver un accès au centre de commandes de SSH1
00007	// 1*- Ne pas se faire repérer par les GI
00008	// 2*- Neutraliser les GI sans les tuer
00009	// 3*- Ne pas utiliser d'armes à feu
00010	
00011	//VAR(SSH101a) float DelayAlarm;
00012	VAR(SSH101a) XIIIPawn CoffeeMachineSoldier;
00013	//VAR Pawn Soldier;
00014	VAR(SSH101a) Array<Pawn> PatrolSoldiers;
00015	VAR int eNbVivants;
00016	
00017	//_____________________________________________________________________________
00018	event ParseDynamicLoading(LevelInfo MyLI)
00019	{
00020	    Super.ParseDynamicLoading(MyLI);
00021	    MyLI.ForcedMeshes[MyLI.ForcedMeshes.Length] = Mesh( DynamicLoadObject("XIIIPersos.XIIIGalM",class'Mesh') );
00022	}
00023	
00024	FUNCTION FirstFrame()
00025	{
00026		Super.FirstFrame();
00027	
00028		// changement du skin du perso principal
00029		XIIIPawn.Mesh = Mesh( DynamicLoadObject("XIIIPersos.XIIIGalM",class'Mesh') );
00030	
00031		eNbVivants = PatrolSoldiers.Length;
00032		log(self@"---> NOMBRE DE SOLDATS :"@eNbVivants);
00033		GotoState('STA_TestMortSoldats');
00034	}
00035	
00036	State STA_TestMortSoldats
00037	{
00038		event Tick (float dt)
00039		{
00040			// on teste si les soldats sont morts ou simplement assommes
00041	
00042			local int i;
00043	
00044			i = 0;
00045			while (i<eNbVivants)
00046			{
00047				if ( PatrolSoldiers[i]!=none && PatrolSoldiers[i].bIsDead )
00048				{
00049					if ( PatrolSoldiers[i].HitDamageType.default.bCanKillStunnedCorspes )
00050					{
00051						TriggerEvent(Event,self,PatrolSoldiers[i]);
00052						SetGoalComplete( 2 );
00053					}
00054					// on retire le soldat du tableau
00055					PatrolSoldiers[i] = PatrolSoldiers[eNbVivants-1];
00056					eNbVivants --;
00057					if (eNbVivants < 1)
00058					{
00059						GotoState('');
00060					}
00061				}
00062				else
00063				{
00064					i ++;
00065				}
00066			}
00067		}
00068	}
00069	
00070	
00071	//_____________________________________________________________________________
00072	//	DelayAlarm=2.0
00073	
00074	
00075	defaultproperties
00076	{
00077	     iLoadSpecificValue=130
00078	}

End Source Code