UnrealShare
Class UnrealWeaponMenu

source: e:\games\UnrealTournament\UnrealShare\Classes\UnrealWeaponMenu.uc
Core.Object
   |
   +--Engine.Actor
      |
      +--Engine.Menu
         |
         +--UnrealShare.UnrealMenu
            |
            +--UnrealShare.UnrealLongMenu
               |
               +--UnrealShare.UnrealWeaponMenu
Direct Known Subclasses:None

class UnrealWeaponMenu
extends UnrealShare.UnrealLongMenu

//============================================================================= // UnrealWeaponMenu //=============================================================================
Variables
 int Slot[21]
 bool bInitLength


Function Summary
 void DrawMenu(Canvas Canvas)
 bool ProcessLeft()
 bool ProcessRight()
 void SaveConfigs()



Source Code


00001	//=============================================================================
00002	// UnrealWeaponMenu
00003	//=============================================================================
00004	class UnrealWeaponMenu extends UnrealLongMenu;
00005	
00006	var int Slot[21];
00007	var bool bInitLength;
00008	
00009	function bool ProcessLeft()
00010	{
00011		local name temp;
00012	
00013		if ( Selection > 1 )
00014		{
00015			temp = PlayerOwner.WeaponPriority[Slot[Selection]];
00016			PlayerOwner.WeaponPriority[Slot[Selection]] = PlayerOwner.WeaponPriority[Slot[Selection - 1]];
00017			PlayerOwner.WeaponPriority[Slot[Selection - 1]] = temp;
00018			Selection--;
00019		}
00020		else 
00021			return false;
00022	
00023		return true;
00024	}
00025	
00026	function bool ProcessRight()
00027	{
00028		local name temp;
00029	
00030		if ( Selection < MenuLength )
00031		{
00032			temp = PlayerOwner.WeaponPriority[Slot[Selection]];
00033			PlayerOwner.WeaponPriority[Slot[Selection]] = PlayerOwner.WeaponPriority[Slot[Selection + 1]];
00034			PlayerOwner.WeaponPriority[Slot[Selection + 1]] = temp;
00035			Selection++;
00036		}
00037		else
00038			return false;
00039	
00040		return true;
00041	}
00042	
00043	function SaveConfigs()
00044	{
00045		PlayerOwner.SaveConfig();
00046		PlayerOwner.ServerUpdateWeapons();
00047	}
00048	
00049	function DrawMenu(canvas Canvas)
00050	{
00051		local int StartX, StartY, Spacing, i, j;
00052	
00053		DrawBackGround(Canvas, (Canvas.ClipY < 250));
00054	
00055		// Draw Title
00056		StartX = Max(16, 0.5 * Canvas.ClipX - 80);
00057		Canvas.Font = Canvas.LargeFont;
00058		Canvas.SetPos(StartX, 4 );
00059		Canvas.DrawText(MenuTitle, False);
00060			
00061		// Draw Weapon Priorities
00062			
00063		Spacing = Clamp(Canvas.ClipY/20, 10, 32);
00064		StartX = Max(48, 0.5 * Canvas.ClipX - 64);
00065		StartY = Max(40, 0.5 * (Canvas.ClipY - MenuLength * Spacing));
00066	
00067		j = 1;
00068		MenuLength = 0;
00069		Canvas.Font = Canvas.MedFont;
00070		for ( i=19; i>=0; i-- )
00071		{
00072			if ( PlayerOwner.WeaponPriority[i] != '' )
00073			{
00074				SetFontBrightness( Canvas, (Selection==j) );
00075				MenuLength++;
00076				Slot[j] = i;
00077				Canvas.SetPos(StartX, StartY + (j-1) * Spacing );
00078				j++;
00079				Canvas.DrawText(PlayerOwner.WeaponPriority[i], false);
00080				if ( MenuLength > Canvas.ClipY/Spacing - 1 )
00081					break;
00082			}
00083		}
00084		Canvas.DrawColor = Canvas.Default.DrawColor;
00085	}
00086	
00087	defaultproperties
00088	{
00089	     MenuTitle="PRIORITIES"
00090	}

End Source Code