RMenu
Class RuneMenuSaveClientWindow

source: c:\runehov\RMenu\Classes\RuneMenuSaveClientWindow.uc
Core.Object
   |
   +--UWindow.UWindowBase
      |
      +--UWindow.UWindowWindow
         |
         +--UWindow.UWindowClientWindow
            |
            +--UWindow.UWindowDialogClientWindow
               |
               +--UWindow.UWindowPageWindow
                  |
                  +--RMenu.RuneMenuPageWindow
                     |
                     +--RMenu.RuneMenuSlotClientWindow
                        |
                        +--RMenu.RuneMenuSaveClientWindow
Direct Known Subclasses:None

class RuneMenuSaveClientWindow
extends RMenu.RuneMenuSlotClientWindow


Variables
 string CantSave


Function Summary
 void Created()
 void Notify(UWindowDialogControl C, byte E)



Source Code


00001	class RuneMenuSaveClientWindow extends RuneMenuSlotClientWindow;
00002	
00003	var localized string CantSave;
00004	
00005	function Created()
00006	{
00007		Super.Created();
00008	
00009		if ( Root.GetPlayerOwner().Health <= 0 )
00010			UWindowFramedWindow(ParentWindow).WindowTitle = CantSave;
00011	}
00012	
00013	function Notify(UWindowDialogControl C, byte E)
00014	{
00015		local int I;
00016		local int Selection;
00017		local UWindowWindow W;
00018	
00019		Super.Notify(C, E);
00020	
00021		switch(E)
00022		{
00023		case DE_Click:
00024			if(GetPlayerOwner().Health <= 0 || GetPlayerOwner().GetStateName() == 'Scripting'
00025				|| GetPlayerOwner().GetStateName() == 'Uninterrupted')
00026			{
00027				return; // Disallow save if dead or in the middle of a cinematic
00028			}
00029	
00030			if ( GetLevel().Minute < 10 )
00031				RuneMenuRaisedButton(C).SetText(GetLevel().Title@GetLevel().Hour$"\:0"$GetLevel().Minute$" "$MonthNames[GetLevel().Month - 1]@GetLevel().Day);
00032			else
00033				RuneMenuRaisedButton(C).SetText(GetLevel().Title@GetLevel().Hour$"\:"$GetLevel().Minute@MonthNames[GetLevel().Month - 1]@GetLevel().Day);
00034	
00035			if ( GetLevel().NetMode != NM_Standalone )
00036				RuneMenuRaisedButton(C).SetText("Net:"$RuneMenuRaisedButton(C).Text);
00037	
00038			for (I=0; I<9; I++)
00039				if (C == Slots[I])
00040					Selection = I;
00041	
00042			SlotNames[Selection] = RuneMenuRaisedButton(C).Text;
00043	
00044			// Find Load Game Window (if it exists yet) and save there too
00045			if (Root != None && RuneRootWindow(Root) != None && RuneRootWindow(Root).LoadClient != None)
00046			{
00047				RuneRootWindow(Root).LoadClient.Slots[Selection].SetText(SlotNames[Selection]);
00048			}
00049	
00050			SaveConfig();
00051	
00052			Root.Console.Viewport.Actor.SetPause( False );
00053			Root.GetPlayerOwner().ConsoleCommand("SaveGame "$Selection);
00054			Root.Console.Viewport.Actor.SetPause( True );
00055			Root.Console.CloseUWindow();
00056			break;
00057		}
00058	}
00059	
00060	defaultproperties
00061	{
00062	     CantSave="Cannot Save: You are dead."
00063	}

End Source Code