XIDInterf
Class XIIIMenuCompetencesIngame

source: C:\XIII\XIDInterf\Classes\XIIIMenuCompetencesIngame.uc
Core.Object
   |
   +--GUI.GUI
      |
      +--GUI.GUIComponent
         |
         +--GUI.GUIMultiComponent
            |
            +--GUI.GUIPage
               |
               +--XIDInterf.XIIIWindow
                  |
                  +--XIDInterf.XIIIMenuCompetencesIngame
Direct Known Subclasses:None

class XIIIMenuCompetencesIngame
extends XIDInterf.XIIIWindow

//============================================================================ // Competences light ingame menu. // //============================================================================
Variables
 tBackPlane[4], ArrowText
 Doc11Button, Doc12Button
 Doc7LabText, Doc8LabText
 MessageText, NoSKill
 PickLockText, SilentWalkText
 Texture ValidatedTex


Function Summary
 void Created()
 bool InternalOnKeyEvent(out byte, out byte, float delta)
 void Paint(Canvas C, float X, float Y)



Source Code


00001	//============================================================================
00002	// Competences light ingame menu.
00003	//
00004	//============================================================================
00005	class XIIIMenuCompetencesIngame extends XIIIWindow;
00006	
00007	var localized string TitleText, DualWeaponText, BreathText, FirstAidText, SixSenseText, SniperText, StunningText, PickLockText, SilentWalkText;
00008	var XIIITextureButton Doc1Button, Doc2Button, Doc3Button, Doc4Button, Doc5Button, Doc6Button, Doc7Button, Doc8Button, Doc9Button, Doc10Button, Doc11Button, Doc12Button;
00009	var texture ValidatedTex;
00010	var  localized string Doc1LabText, Doc2LabText, Doc3LabText, Doc4LabText, Doc5LabText, Doc6LabText, Doc7LabText, Doc8LabText;
00011	
00012	var texture tBackGround[20], tHighlight[20], tBackPlane[4], ArrowText;
00013	var string sBackGround[20], sHighlight[20], sBackPlane[4], MessageText, NoSKill;
00014	
00015	
00016	function Created()
00017	{
00018	    local int i;
00019	
00020	    Super.Created();
00021	
00022	    bShowBCK = true;
00023	    bShowSEL = true;
00024	
00025	
00026	    for (i=0; i<4; i++)
00027	    {
00028	        tBackPlane[i] = texture(DynamicLoadObject(sBackPlane[i], class'Texture'));
00029	    }
00030	
00031	    for (i=0; i<20; i++)
00032	    {
00033	        tHighlight[i] = texture(DynamicLoadObject(sHighlight[i], class'Texture'));
00034	        //tBackGround[i] = texture(DynamicLoadObject(sBackGround[i], class'Texture'));
00035	    }
00036	
00037	
00038	    Doc1Button = XIIITextureButton(CreateControl(class'XIIITextureButton', 230, 65*fScaleTo, 20, 20*fScaleTo));
00039	    Doc1Button.bUseBorder=false;
00040	
00041	    Doc2Button = XIIITextureButton(CreateControl(class'XIIITextureButton', 230, 105*fScaleTo, 20, 20*fScaleTo));
00042	    Doc2Button.bUseBorder=false;
00043	
00044	    Doc3Button = XIIITextureButton(CreateControl(class'XIIITextureButton', 230, 145*fScaleTo, 20, 20*fScaleTo));
00045	    Doc3Button.bUseBorder=false;
00046	
00047	    Doc4Button = XIIITextureButton(CreateControl(class'XIIITextureButton', 230, 185*fScaleTo, 20, 20*fScaleTo));
00048	    Doc4Button.bUseBorder=false;
00049	
00050	    Doc5Button = XIIITextureButton(CreateControl(class'XIIITextureButton', 230, 225*fScaleTo, 20, 20*fScaleTo));
00051	    Doc5Button.bUseBorder=false;
00052	
00053	    Doc6Button = XIIITextureButton(CreateControl(class'XIIITextureButton', 230, 265*fScaleTo, 20, 20*fScaleTo));
00054	    Doc6Button.bUseBorder=false;
00055	
00056	    Doc7Button = XIIITextureButton(CreateControl(class'XIIITextureButton', 230, 305*fScaleTo, 20, 20*fScaleTo));
00057	    Doc7Button.bUseBorder=false;
00058	
00059	    Doc8Button = XIIITextureButton(CreateControl(class'XIIITextureButton', 230, 345*fScaleTo, 20, 20*fScaleTo));
00060	    Doc8Button.bUseBorder=false;
00061	
00062	
00063	
00064	    Doc1Button.tFirstTex[0]=myRoot.FondMenu;
00065	    Doc1Button.tFirstTex[1]=ArrowText;
00066	
00067	    Doc2Button.tFirstTex[0]=myRoot.FondMenu;
00068	    Doc2Button.tFirstTex[1]=ArrowText;
00069	
00070	    Doc3Button.tFirstTex[0]=myRoot.FondMenu;
00071	    Doc3Button.tFirstTex[1]=ArrowText;
00072	
00073	    Doc4Button.tFirstTex[0]=myRoot.FondMenu;
00074	    Doc4Button.tFirstTex[1]=ArrowText;
00075	    Doc5Button.tFirstTex[0]=myRoot.FondMenu;
00076	    Doc5Button.tFirstTex[1]=ArrowText;
00077	
00078	    Doc6Button.tFirstTex[0]=myRoot.FondMenu;
00079	    Doc6Button.tFirstTex[1]=ArrowText;
00080	    Doc7Button.tFirstTex[0]=myRoot.FondMenu;
00081	    Doc7Button.tFirstTex[1]=ArrowText;
00082	
00083	    Doc8Button.tFirstTex[0]=myRoot.FondMenu;
00084	    Doc8Button.tFirstTex[1]=ArrowText;
00085	
00086	    Controls[0]=Doc1Button; 
00087	    Controls[1]=Doc2Button; 
00088	    Controls[2]=Doc3Button; 
00089	    Controls[3]=Doc4Button; 
00090	    Controls[4]=Doc5Button; 
00091	    Controls[5]=Doc6Button; 
00092	    Controls[6]=Doc7Button; 
00093	    Controls[7]=Doc8Button; 
00094	
00095	
00096	}
00097	
00098	function Paint(Canvas C, float X, float Y)
00099	{
00100	    local float W, H;
00101	    local int i, index;
00102	
00103	   local mapinfo Currentmap;
00104	
00105	   local string MessageText;
00106	   local array<string> MsgArray;
00107	   local int v;
00108	   local int Length;
00109	   local int TextWith;
00110	
00111	
00112	    index = FindComponentIndex(FocusedControl);
00113	
00114	
00115	    Super.Paint(C,X,Y);
00116	
00117	    // background
00118	    if (myRoot.GetLevel().bCineFrame)
00119		{
00120		    C.Style = 5;
00121			C.DrawColor = BlackColor;
00122			C.DrawColor.A = 192;
00123		    DrawStretchedTexture(C, 0, 0, WinWidth*C.ClipX, WinHeight*C.ClipY, myRoot.FondMenu);
00124			C.Style = 1;
00125		}
00126	
00127			C.DrawMsgboxBackground(false, 120*fRatioX, 50*fRatioY*fScaleTo, 10, 10, 420*fRatioX, 390*fRatioY*fScaleTo);
00128	
00129	
00130	
00131	   /* // main design
00132	    if (!myRoot.GetLevel().bCineFrame)
00133		{
00134			C.DrawMsgboxBackground(false, 120*fRatioX, 50*fRatioY*fScaleTo, 10, 10, 420*fRatioX, 350*fRatioY*fScaleTo);
00135		}
00136	    else
00137	    {
00138			C.DrawMsgboxBackground(false, 0.09*C.ClipX*fRatioX, 0.2*C.ClipY*fRatioY*fScaleTo, 10, 10, 0.82*C.ClipX*fRatioX, 0.6*C.ClipY*fRatioY*fScaleTo);
00139	    }*/
00140	
00141	
00142	    // page title
00143	    C.bUseBorder = true;
00144	    C.DrawColor = WhiteColor;
00145	    C.TextSize(TitleText, W, H);
00146	    DrawStretchedTexture(C, 80*fRatioX, 110*fRatioY*fScaleTo, W+40*fRatioX, 40*fScaleTo*fRatioY, myRoot.FondMenu);
00147	    C.DrawColor = BlackColor;
00148	    //C.SetPos(100*fRatioX-W/40, (130*fScaleTo*fRatioY)-H/2);
00149	    C.SetPos(80*fRatioX+(40*fRatioX)/2, (110*fRatioY+(40*fRatioY-H)/2)*fScaleTo);
00150	    C.DrawText(TitleText, false);
00151	    
00152	    // restore old param
00153		C.DrawColor = WhiteColor;
00154	    C.DrawColor.A = 255; C.Style = 1; C.bUseBorder = false;
00155	
00156	
00157	
00158	// skill title
00159	    C.bUseBorder = false;
00160	    C.DrawColor = WhiteColor;
00161	    C.TextSize(SilentWalkText, W, H);
00162	    //DrawStretchedTexture(C, 320, 80*fScaleTo*fRatioY, (W+40)*fRatioX, 40*fScaleTo*fRatioY, myRoot.FondMenu);
00163	    C.DrawColor = BlackColor;
00164	    C.SetPos(300*fRatioX, (75*fScaleTo*fRatioY)-H/2);
00165	    C.DrawText(SilentWalkText, false);
00166	    
00167	    // restore old param
00168		C.DrawColor = WhiteColor;
00169	    C.DrawColor.A = 255; C.Style = 1; C.bUseBorder = false;
00170	
00171	
00172	// skill title
00173	    C.bUseBorder = false;
00174	    C.DrawColor = WhiteColor;
00175	    C.TextSize(DualWeaponText, W, H);
00176	    //DrawStretchedTexture(C, 320, 120*fScaleTo*fRatioY, (W+40)*fRatioX, 40*fScaleTo*fRatioY, myRoot.FondMenu);
00177	    C.DrawColor = BlackColor;
00178	    C.SetPos(300*fRatioX, (115*fScaleTo*fRatioY)-H/2);
00179	    C.DrawText(DualWeaponText, false);
00180	    
00181	    // restore old param
00182		C.DrawColor = WhiteColor;
00183	    C.DrawColor.A = 255; C.Style = 1; C.bUseBorder = false;
00184	
00185	
00186	// skill title
00187	    C.bUseBorder = false;
00188	    C.DrawColor = WhiteColor;
00189	    C.TextSize(BreathText, W, H);
00190	    //DrawStretchedTexture(C, 320, 160*fScaleTo*fRatioY, (W+40)*fRatioX, 40*fScaleTo*fRatioY, myRoot.FondMenu);
00191	    C.DrawColor = BlackColor;
00192	    C.SetPos(300*fRatioX, (155*fScaleTo*fRatioY)-H/2);
00193	    C.DrawText(BreathText, false);
00194	    
00195	    // restore old param
00196		C.DrawColor = WhiteColor;
00197	    C.DrawColor.A = 255; C.Style = 1; C.bUseBorder = false;
00198	
00199	// skill title
00200	    C.bUseBorder = false;
00201	    C.DrawColor = WhiteColor;
00202	    C.TextSize(FirstAidText, W, H);
00203	    //DrawStretchedTexture(C, 320, 200*fScaleTo*fRatioY, (W+40)*fRatioX, 40*fScaleTo*fRatioY, myRoot.FondMenu);
00204	    C.DrawColor = BlackColor;
00205	    C.SetPos(300*fRatioX, (195*fScaleTo*fRatioY)-H/2);
00206	    C.DrawText(FirstAidText, false);
00207	    
00208	    // restore old param
00209		C.DrawColor = WhiteColor;
00210	    C.DrawColor.A = 255; C.Style = 1; C.bUseBorder = false;
00211	
00212	// skill title
00213	    C.bUseBorder = false;
00214	    C.DrawColor = WhiteColor;
00215	    C.TextSize(SixSenseText, W, H);
00216	    //DrawStretchedTexture(C, 320, 240*fScaleTo*fRatioY, (W+40)*fRatioX, 40*fScaleTo*fRatioY, myRoot.FondMenu);
00217	    C.DrawColor = BlackColor;
00218	    C.SetPos(300*fRatioX, (235*fScaleTo*fRatioY)-H/2);
00219	    C.DrawText(SixSenseText, false);
00220	    
00221	    // restore old param
00222		C.DrawColor = WhiteColor;
00223	    C.DrawColor.A = 255; C.Style = 1; C.bUseBorder = false;
00224	
00225	// skill title
00226	    C.bUseBorder = false;
00227	    C.DrawColor = WhiteColor;
00228	    C.TextSize(SniperText, W, H);
00229	    //DrawStretchedTexture(C, 320, 280*fScaleTo*fRatioY, (W+40)*fRatioX, 40*fScaleTo*fRatioY, myRoot.FondMenu);
00230	    C.DrawColor = BlackColor;
00231	    C.SetPos(300*fRatioX, (275*fScaleTo*fRatioY)-H/2);
00232	    C.DrawText(SniperText, false);
00233	    
00234	    // restore old param
00235		C.DrawColor = WhiteColor;
00236	    C.DrawColor.A = 255; C.Style = 1; C.bUseBorder = false;
00237	
00238	// skill title
00239	    C.bUseBorder = false;
00240	    C.DrawColor = WhiteColor;
00241	    C.TextSize(StunningText, W, H);
00242	    //DrawStretchedTexture(C, 320, 320*fScaleTo*fRatioY, (W+40)*fRatioX, 40*fScaleTo*fRatioY, myRoot.FondMenu);
00243	    C.DrawColor = BlackColor;
00244	    C.SetPos(300*fRatioX, (315*fScaleTo*fRatioY)-H/2);
00245	    C.DrawText(StunningText, false);
00246	    
00247	    // restore old param
00248		C.DrawColor = WhiteColor;
00249	    C.DrawColor.A = 255; C.Style = 1; C.bUseBorder = false;
00250	
00251	// skill title
00252	    C.bUseBorder = false;
00253	    C.DrawColor = WhiteColor;
00254	    C.TextSize(PickLockText, W, H);
00255	    //DrawStretchedTexture(C, 320, 360*fScaleTo*fRatioY, (W+40)*fRatioX, 40*fScaleTo*fRatioY, myRoot.FondMenu);
00256	    C.DrawColor = BlackColor;
00257	    C.SetPos(300*fRatioX, (355*fScaleTo*fRatioY)-H/2);
00258	    C.DrawText(PickLockText, false);
00259	    
00260	    // restore old param
00261		C.DrawColor = WhiteColor;
00262	    C.DrawColor.A = 255; C.Style = 1; C.bUseBorder = false;
00263	
00264	   CurrentMap = XIIIGameInfo(GetPlayerOwner().Player.Actor.Level.Game).MapInfo;
00265	
00266	   if ( CurrentMap.XIIIPawn.FindInventoryKind('SilentWalkSkill') != none )
00267	   {
00268	    C.bUseBorder = true;
00269	    if (index==0)
00270	      MessageText=Doc1LabText;
00271	    C.DrawColor = BlackColor;
00272	    DrawStretchedTexture(C, 260*fRatioX, 65*fScaleTo*fRatioY, 20*fRatioX, 20*fScaleTo*fRatioY, ValidatedTex);
00273	    C.DrawColor = WhiteColor;
00274	    C.DrawColor.A = 255; C.Style = 1; C.bUseBorder = false;
00275	   }
00276	   else
00277	   {
00278	    C.bUseBorder = true;
00279	    if (index==0)
00280		MessageText=NoSkill;
00281	    C.DrawColor = WhiteColor;
00282	    DrawStretchedTexture(C, 260*fRatioX, 65*fScaleTo*fRatioY, 20*fRatioX, 20*fScaleTo*fRatioY, myRoot.FondMenu);
00283	    C.DrawColor = WhiteColor;
00284	    C.DrawColor.A = 255; C.Style = 1; C.bUseBorder = false;
00285	   }
00286	
00287	   if ( CurrentMap.XIIIPawn.FindInventoryKind('DualWeaponSkill') != none )
00288	   {
00289	    C.bUseBorder = true;
00290	    if (index==1)
00291	    MessageText=Doc2LabText;
00292	    C.DrawColor = BlackColor;
00293	    DrawStretchedTexture(C, 260*fRatioX, 105*fScaleTo*fRatioY, 20*fRatioX, 20*fScaleTo*fRatioY, ValidatedTex);
00294	    C.DrawColor = WhiteColor;
00295	    C.DrawColor.A = 255; C.Style = 1; C.bUseBorder = false;
00296	   }
00297	   else
00298	   {
00299	    C.bUseBorder = true;
00300	    if (index==1)
00301		MessageText=NoSkill;
00302	    C.DrawColor = WhiteColor;
00303	    DrawStretchedTexture(C, 260*fRatioX, 105*fScaleTo*fRatioY, 20*fRatioX, 20*fScaleTo*fRatioY, myRoot.FondMenu);
00304	    C.DrawColor = WhiteColor;
00305	    C.DrawColor.A = 255; C.Style = 1; C.bUseBorder = false;
00306	   }
00307	
00308	   if ( CurrentMap.XIIIPawn.FindInventoryKind('BreathSkill') != none )
00309	   {
00310	    C.bUseBorder = true;
00311	    if (index==2)
00312	     MessageText=Doc3LabText; 
00313	    C.DrawColor = BlackColor;
00314	    DrawStretchedTexture(C, 260*fRatioX, 145*fScaleTo*fRatioY, 20*fRatioX, 20*fScaleTo*fRatioY, ValidatedTex);
00315	    C.DrawColor = WhiteColor;
00316	    C.DrawColor.A = 255; C.Style = 1; C.bUseBorder = false;
00317	   }
00318	   else
00319	   {
00320	    C.bUseBorder = true;
00321	    if (index==2)
00322		MessageText=NoSkill;
00323	    C.DrawColor = WhiteColor;
00324	    DrawStretchedTexture(C, 260*fRatioX, 145*fScaleTo*fRatioY, 20*fRatioX, 20*fScaleTo*fRatioY, myRoot.FondMenu);
00325	    C.DrawColor = WhiteColor;
00326	    C.DrawColor.A = 255; C.Style = 1; C.bUseBorder = false;
00327	   }
00328	
00329	   if ( CurrentMap.XIIIPawn.FindInventoryKind('FirstAidSkill') != none )
00330	   {
00331	    C.bUseBorder = true;
00332	    if (index==3)
00333	    MessageText=Doc4LabText;
00334	    C.DrawColor = BlackColor;
00335	    DrawStretchedTexture(C, 260*fRatioX, 185*fScaleTo*fRatioY, 20*fRatioX, 20*fScaleTo*fRatioY, ValidatedTex);
00336	    C.DrawColor = WhiteColor;
00337	    C.DrawColor.A = 255; C.Style = 1; C.bUseBorder = false;
00338	   }
00339	   else
00340	   {
00341	    C.bUseBorder = true;
00342	    if (index==3)
00343		MessageText=NoSkill;
00344	    C.DrawColor = WhiteColor;
00345	    DrawStretchedTexture(C, 260*fRatioX, 185*fScaleTo*fRatioY, 20*fRatioX, 20*fScaleTo*fRatioY, myRoot.FondMenu);
00346	    C.DrawColor = WhiteColor;
00347	    C.DrawColor.A = 255; C.Style = 1; C.bUseBorder = false;
00348	   }
00349	
00350	   if ( CurrentMap.XIIIPawn.FindInventoryKind('SixSenseSkill') != none )
00351	   {
00352	    C.bUseBorder = true;
00353	    if (index==4)
00354	    MessageText=Doc5LabText;
00355	    C.DrawColor = BlackColor;
00356	    DrawStretchedTexture(C, 260*fRatioX, 225*fScaleTo*fRatioY, 20*fRatioX, 20*fScaleTo*fRatioY, ValidatedTex);
00357	    C.DrawColor = WhiteColor;
00358	    C.DrawColor.A = 255; C.Style = 1; C.bUseBorder = false;
00359	   }
00360	   else
00361	   {
00362	    C.bUseBorder = true;
00363	    if (index==4)
00364	      MessageText=NoSkill;
00365	    C.DrawColor = WhiteColor;
00366	    DrawStretchedTexture(C, 260*fRatioX, 225*fScaleTo*fRatioY, 20*fRatioX, 20*fScaleTo*fRatioY, myRoot.FondMenu);
00367	    C.DrawColor = WhiteColor;
00368	    C.DrawColor.A = 255; C.Style = 1; C.bUseBorder = false;
00369	   }
00370	
00371	   if ( CurrentMap.XIIIPawn.FindInventoryKind('SniperSkill') != none )
00372	   {
00373	    C.bUseBorder = true;
00374	    if (index==5)
00375	    MessageText=Doc6LabText;
00376	    C.DrawColor = BlackColor;
00377	    DrawStretchedTexture(C, 260*fRatioX, 265*fScaleTo*fRatioY, 20*fRatioX, 20*fScaleTo*fRatioY, ValidatedTex);
00378	    C.DrawColor = WhiteColor;
00379	    C.DrawColor.A = 255; C.Style = 1; C.bUseBorder = false;
00380	   }
00381	   else
00382	   {
00383	    C.bUseBorder = true;
00384	    if (index==5)
00385		MessageText=NoSkill;
00386	    C.DrawColor = WhiteColor;
00387	    DrawStretchedTexture(C, 260*fRatioX, 265*fScaleTo*fRatioY, 20*fRatioX, 20*fScaleTo*fRatioY, myRoot.FondMenu);
00388	    C.DrawColor = WhiteColor;
00389	    C.DrawColor.A = 255; C.Style = 1; C.bUseBorder = false;
00390	   }
00391	
00392	
00393	   
00394	   if ( CurrentMap.XIIIPawn.FindInventoryKind('StunningSkill') != none )
00395	   {
00396	    C.bUseBorder = true;
00397	    if (index==6)
00398	    MessageText=Doc7LabText;
00399	    C.DrawColor = BlackColor;
00400	    DrawStretchedTexture(C, 260*fRatioX, 305*fScaleTo*fRatioY, 20*fRatioX, 20*fScaleTo*fRatioY, ValidatedTex);
00401	    C.DrawColor = WhiteColor;
00402	    C.DrawColor.A = 255; C.Style = 1; C.bUseBorder = false;
00403	   }
00404	   else
00405	   {
00406	    C.bUseBorder = true;
00407	    if (index==6)
00408		MessageText=NoSkill;
00409	    C.DrawColor = WhiteColor;
00410	    DrawStretchedTexture(C, 260*fRatioX, 305*fScaleTo*fRatioY, 20*fRatioX, 20*fScaleTo*fRatioY, myRoot.FondMenu);
00411	    C.DrawColor = WhiteColor;
00412	    C.DrawColor.A = 255; C.Style = 1; C.bUseBorder = false;
00413	   }
00414	
00415	
00416	   if ( CurrentMap.XIIIPawn.FindInventoryKind('PickLockSkill') != none )
00417	   {
00418	    C.bUseBorder = true;
00419	    if (index==7)
00420	    MessageText=Doc8LabText;
00421	    C.DrawColor = BlackColor;
00422	    DrawStretchedTexture(C, 260*fRatioX, 345*fScaleTo*fRatioY, 20*fRatioX, 20*fScaleTo*fRatioY, ValidatedTex);
00423	    C.DrawColor = WhiteColor;
00424	    C.DrawColor.A = 255; C.Style = 1; C.bUseBorder = false;
00425	   }
00426	   else
00427	   {
00428	    C.bUseBorder = true;
00429	    if (index==7)
00430	      MessageText=NoSKill;
00431	    C.DrawColor = WhiteColor;
00432	    DrawStretchedTexture(C, 260*fRatioX, 345*fScaleTo*fRatioY, 20*fRatioX, 20*fScaleTo*fRatioY, myRoot.FondMenu);
00433	    C.DrawColor = WhiteColor;
00434	    C.DrawColor.A = 255; C.Style = 1; C.bUseBorder = false;
00435	   }
00436	
00437		TextWith = 400*fRatioX;
00438	        C.Font = font'XIIIFonts.XIIIConsoleFont';
00439		C.DrawColor = BlackColor;
00440		C.WrapStringToArray(MessageText, MsgArray, TextWith, "|");
00441		Length = MsgArray.Length;
00442	 	if (Length > 1)
00443		{
00444			for(v=0;v<Length;v++)
00445			{
00446				C.TextSize(MsgArray[v], W, H);
00447				C.SetPos(130*fRatioX, 380*fRatioY*fScaleTo + (H*v*fRatioY)*fScaleTo);
00448				C.DrawText(MsgArray[v], false);
00449			}
00450		}
00451		else
00452		{
00453			if (MessageText!="?")
00454			{
00455			C.TextSize(MsgArray[v], W, H);
00456			C.SetPos(130*fRatioX, 390*fRatioY*fScaleTo + (H*fRatioY)*fScaleTo);
00457			C.DrawText(MsgArray[v], false);
00458			}
00459			else
00460			{
00461			C.TextSize(MsgArray[v], W, H);
00462			C.SetPos(320*fRatioX, 390*fRatioY*fScaleTo + (H*fRatioY)*fScaleTo);
00463			C.DrawText(MsgArray[v], false);
00464			}
00465	
00466		}          
00467		C.DrawColor = WhiteColor;
00468	
00469	
00470	}
00471	
00472	function bool InternalOnKeyEvent(out byte Key, out byte State, float delta)
00473	{
00474	   local int index;
00475	   local bool bLeft, bRight, bUp, bDown;
00476	
00477	    if (State==1)// IST_Press // to avoid auto-repeat
00478	    {
00479	        if ((Key==0x0D/*IK_Enter*/) || (Key==0x01)/*IK_LeftMouse*/)
00480		    {
00481		        myRoot.CloseMenu(true);
00482	            return true;
00483		    }
00484		    else if ((Key==0x08/*IK_Backspace*/)|| (Key==0x1B) /*IK_Escape*/)
00485		    {
00486		        myRoot.CloseMenu(true);
00487	    	    return true;
00488		    }
00489		bUp = (Key==0x26);
00490	        bDown = (Key==0x28);
00491	        bLeft = (Key==0x25);
00492	        bRight = (Key==0x27);
00493		    if ( bUp || bDown || bLeft || bRight )
00494		    {
00495		        index = FindComponentIndex(FocusedControl);
00496	            switch (index)
00497		        {
00498		            case 0 :
00499	                    if ( bDown) Controls[1].FocusFirst(Self,false);
00500	                    if ( bUp ) Controls[7].FocusFirst(Self,false);
00501	                break;
00502		            case 1 : 
00503	                    if ( bDown ) Controls[2].FocusFirst(Self,false);
00504	                    if ( bUp ) Controls[0].FocusFirst(Self,false);
00505	                break;
00506		            case 2 : 
00507	                    if ( bDown) Controls[3].FocusFirst(Self,false);
00508	                    if ( bUp ) Controls[1].FocusFirst(Self,false);
00509			break;
00510		            case 3 : 
00511	                    if ( bDown) Controls[4].FocusFirst(Self,false);
00512	                    if ( bUp ) Controls[2].FocusFirst(Self,false);
00513	                break;
00514		            case 4 : 
00515	                    if ( bUp ) Controls[3].FocusFirst(Self,false);
00516			    if ( bDown) Controls[5].FocusFirst(Self,false);
00517	                break;
00518		            case 5 : 
00519	                    if ( bUp ) Controls[4].FocusFirst(Self,false);
00520			    if ( bDown) Controls[6].FocusFirst(Self,false);
00521	                break;
00522		            case 6 : 
00523	                    if ( bUp ) Controls[5].FocusFirst(Self,false);
00524			    if ( bDown) Controls[7].FocusFirst(Self,false);
00525	                break;
00526		            case 7 : 
00527	                    if ( bUp ) Controls[6].FocusFirst(Self,false);
00528			    if ( bDown) Controls[0].FocusFirst(Self,false);
00529	                break;
00530				}
00531				return true;
00532		    }
00533	    }
00534	    return super.InternalOnKeyEvent(Key, state, delta);
00535	}
00536	
00537	
00538	
00539	defaultproperties
00540	{
00541	     TitleText="Skills"
00542	     DualWeaponText="Dual Weapon Skill"
00543	     BreathText="Breathing Skill"
00544	     FirstAidText="First Aid SKill"
00545	     SixSenseText="Sixth Sense Skill"
00546	     SniperText="Sniper Skill"
00547	     StunningText="Stunning SKill"
00548	     PickLockText="Lockpicking SKill"
00549	     SilentWalkText="Silent Walk Skill"
00550	     ValidatedTex=Texture'XIIIMenu.HUD.Valid'
00551	     Doc1LabText="You remember your gift for stealth. From now on, you'll make 50% less noise when you move around."
00552	     Doc2LabText="Remember… You used to be able to shoot 2 handguns at once, using ALTERNATING fire."
00553	     Doc3LabText="You just remembered your records for holding your breath. From now on, you can stay twice as long underwater."
00554	     Doc4LabText="You recall your healing powers. All at once, MEDIKITs have double the effect on you."
00555	     Doc5LabText="There should go the English description of the sixth sense skill"
00556	     Doc6LabText="You got back your powers of concentration. From now on, you can stabilize your fire when sniping at an enemy."
00557	     Doc7LabText="You remember how to deliver a forearm blow: Move discreetly towards an enemy, then press ACTION to knock him out."
00558	     Doc8LabText="You remember your skill. Once again, you can open doors twice as fast."
00559	     ArrowText=Texture'XIIIMenuStart.Control_Console.fleche_droite'
00560	     NoSKill="?"
00561	     bForceHelp=True
00562	     Background=None
00563	}

End Source Code