XIII
Class PhotoPick

source: C:\XIII\XIII\Classes\PhotoPick.uc
Core.Object
   |
   +--Engine.Actor
      |
      +--Engine.Pickup
         |
         +--XIII.XIIIPickup
            |
            +--XIII.PhotoPick
Direct Known Subclasses:None

class PhotoPick
extends XIII.XIIIPickup

//----------------------------------------------------------- // //-----------------------------------------------------------
Variables
 Texture PhotographyMat

States
Pickup

Function Summary
 Inventory SpawnCopy(Pawn Other)
     
//_____________________________________________________________________________
// Either give this inventory to player Other, or spawn a copy
// and give it to the player Other, setting up original to be respawned.
//


State Pickup Function Summary
 bool ValidTouch(Actor Other)



Source Code


00001	//-----------------------------------------------------------
00002	//
00003	//-----------------------------------------------------------
00004	class PhotoPick extends XIIIPickup;
00005	
00006	var() Texture PhotographyMat;
00007	
00008	//_____________________________________________________________________________
00009	// Either give this inventory to player Other, or spawn a copy
00010	// and give it to the player Other, setting up original to be respawned.
00011	//
00012	function inventory SpawnCopy( pawn Other )
00013	{
00014	    local inventory Copy;
00015	
00016	    if ( Inventory != None )
00017	    {
00018	      Copy = Inventory;
00019	      Inventory = None;
00020	    }
00021	    else
00022	      Copy = spawn(InventoryType,Other,,,rot(0,0,0));
00023	
00024	    Copy.GiveTo( Other );
00025	    // ELR for this class modify the copy mesh
00026	//    Copy.Mesh = FpsMeshToUse;
00027	
00028	    if( Level.Game.ShouldRespawn(self) )
00029	      StartSleeping();
00030	    else
00031	    {
00032	      Photo(Copy).PhotoMat = PhotographyMat;
00033	      Copy.Event = Event;
00034	      Destroy();
00035	    }
00036	    return Copy;
00037	}
00038	
00039	//_____________________________________________________________________________
00040	Auto State Pickup
00041	{
00042	    function bool ValidTouch( actor Other )
00043	    {
00044	      // make sure its a live player
00045	      if ( !Pawn(Other).Controller.bIsPlayer || !Pawn(Other).bCanPickupInventory || (Pawn(Other).Health <= 0) )
00046	        return false;
00047	      // make sure not touching through wall
00048	      if ( !FastTrace(Other.Location+Pawn(Other).EyeHeight*vect(0,0,1), Location) )
00049	        return false;
00050	      if ( bCauseEventOnPick )
00051	        TriggerEvent(Event, self, Pawn(Other));
00052	      return true;
00053	    }
00054	}
00055	
00056	//    DrawType=DT_Mesh
00057	//    Mesh=VertMesh'XIIIDeco.photokimM'
00058	
00059	
00060	defaultproperties
00061	{
00062	     InventoryType=Class'XIII.Photo'
00063	     PickupMessage="PHOTOGRAPH"
00064	     PickupSound=Sound'XIIIsound.Items.GiletPick1'
00065	     StaticMesh=StaticMesh'MeshObjetsPickup.photokim'
00066	     MessageClass=Class'XIII.XIIIImportantItemMessage'
00067	}

End Source Code