Core.Object | +--Engine.Actor | +--Engine.Menu | +--UnrealShare.UnrealMenu | +--UnrealShare.UnrealLongMenu | +--UnrealShare.UnrealWeaponMenu
int
Slot[21]
bool
bInitLength
void
DrawMenu(Canvas Canvas)
ProcessLeft()
ProcessRight()
SaveConfigs()
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 }