Core.Object | +--Engine.Actor | +--Engine.Menu | +--UnrealShare.UnrealMenu | +--UnrealShare.UnrealLongMenu | +--UnrealShare.UnrealSlotMenu | +--UnrealShare.UnrealSaveMenu
string
CantSave
void
BeginPlay()
DrawMenu(Canvas Canvas)
bool
ProcessSelection()
00001 //============================================================================= 00002 // UnrealSaveMenu 00003 //============================================================================= 00004 class UnrealSaveMenu extends UnrealSlotMenu; 00005 00006 var localized string CantSave; 00007 00008 function BeginPlay() 00009 { 00010 local int i; 00011 00012 Super.BeginPlay(); 00013 For (i=0; i<9; i++ ) 00014 if (SlotNames[i] ~= "..Empty.." ) 00015 { 00016 Selection = i + 1; 00017 break; 00018 } 00019 } 00020 00021 function bool ProcessSelection() 00022 { 00023 if ( PlayerOwner.Health <= 0 ) 00024 return true; 00025 00026 if ( Level.Minute < 10 ) 00027 SlotNames[Selection - 1] = (Level.Title@Level.Hour$"\:0"$Level.Minute@MonthNames[Level.Month - 1]@Level.Day); 00028 else 00029 SlotNames[Selection - 1] = (Level.Title@Level.Hour$"\:"$Level.Minute@MonthNames[Level.Month - 1]@Level.Day); 00030 00031 if ( Level.NetMode != NM_Standalone ) 00032 SlotNames[Selection - 1] = "Net:"$SlotNames[Selection - 1]; 00033 SaveConfig(); 00034 bExitAllMenus = true; 00035 PlayerOwner.ClientMessage(" "); 00036 PlayerOwner.bDelayedCommand = true; 00037 PlayerOwner.DelayedCommand = "SaveGame "$(Selection - 1); 00038 return true; 00039 } 00040 00041 function DrawMenu(canvas Canvas) 00042 { 00043 00044 if ( PlayerOwner.Health <= 0 ) 00045 { 00046 MenuTitle = CantSave; 00047 DrawTitle(Canvas); 00048 return; 00049 } 00050 00051 DrawBackGround(Canvas, (Canvas.ClipY < 320)); 00052 DrawTitle(Canvas); 00053 DrawSlots(Canvas); 00054 } 00055 00056 defaultproperties 00057 { 00058 CantSave="CAN'T SAVE WHEN DEAD" 00059 MenuTitle="SAVE GAME" 00060 }