RMenu
Class RuneMenuScrollingDialogClient

source: c:\runehov\RMenu\Classes\RuneMenuScrollingDialogClient.uc
Core.Object
   |
   +--UWindow.UWindowBase
      |
      +--UWindow.UWindowWindow
         |
         +--UWindow.UWindowClientWindow
            |
            +--UWindow.UWindowDialogClientWindow
               |
               +--UWindow.UWindowPageWindow
                  |
                  +--UWindow.UWindowScrollingDialogClient
                     |
                     +--RMenu.RuneMenuScrollingDialogClient
Direct Known Subclasses:RMenuModScrollingDialogClient, RuneMenuAboutScrollClient, RuneMenuAdminScrollClient, RuneMenuAudioScrollClient, RuneMenuCreditsScrollClient, RuneMenuCustomizeScrollClient, RuneMenuGameOptionsScrollClient, RuneMenuInputOptionsScrollClient, RuneMenuLoadScrollClient, RuneMenuMaplistScrollClient, RuneMenuModScrollClient, RuneMenuMutatorScrollClient, RuneMenuPlayerScrollClient, RuneMenuSaveScrollClient, RuneMenuServerScrollClient, RuneMenuStartMatchScrollClient, RuneMenuVideoOptionsScrollClient

class RuneMenuScrollingDialogClient
extends UWindow.UWindowScrollingDialogClient


Variables
 float Alpha
 float SlideRate
 int StartTop
 bool bOpen
 bool bOpening
 test1, test2


Function Summary
 float CubicBlend(float t, float N1, float N2, float NC, float ND)
     
//--------------------------------------------------------
// CubicBlend
//
// t:	Alpha value [0..1]
// N1:	Start value
// N2:	End value
// NC:	Control value 1
// ND:	Control value 2
//--------------------------------------------------------
 void DoneOpening()
 void HideWindow()
 void ShowWindow()
 void SlideOpen()
 void Tick(float DeltaTime)



Source Code


00001	class RuneMenuScrollingDialogClient extends UWindowScrollingDialogClient;
00002	
00003	var float SlideRate;
00004	var float Alpha;
00005	var bool bOpening;
00006	var bool bOpen;
00007	var float test1, test2;
00008	var int StartTop;
00009	
00010	
00011	function HideWindow()
00012	{
00013		Super.HideWindow();
00014		bOpen = false;
00015		bOpening = false;
00016		WinTop=StartTop;
00017	}
00018	
00019	function ShowWindow()
00020	{
00021		Super.ShowWindow();
00022		SlideOpen();
00023	}
00024	
00025	function SlideOpen()
00026	{
00027		bOpening = true;
00028		bOpen = false;
00029		WinTop=StartTop;
00030		Alpha=0;
00031		LookAndFeel.PlayMenuSound(Self, MS_BottomOpen);
00032	}
00033	
00034	function DoneOpening()
00035	{
00036		bOpening = false;
00037		bOpen = true;
00038	}
00039	
00040	function Tick(float DeltaTime)
00041	{
00042		local float PositionAlpha;
00043	
00044		if (bOpening)
00045		{
00046			Alpha += DeltaTime * SlideRate;
00047			if (Alpha >= 1.0)
00048				DoneOpening();
00049			Alpha = FClamp(Alpha, 0.0, 1.0);
00050			PositionAlpha = CubicBlend(Alpha, 0, 1, test1, test2);
00051			WinTop = StartTop + 360.0*PositionAlpha;
00052		}
00053	}
00054	
00055	
00056	//--------------------------------------------------------
00057	// CubicBlend
00058	//
00059	// t:	Alpha value [0..1]
00060	// N1:	Start value
00061	// N2:	End value
00062	// NC:	Control value 1
00063	// ND:	Control value 2
00064	//--------------------------------------------------------
00065	function float CubicBlend(float t, float N1, float N2, float NC, float ND)
00066	{
00067		local float term1, term2, term3, term4;
00068	
00069		term1 = (1-t)*(1-t)*(1-t)*N1;
00070		term2 = t*t*t*N2;
00071		term3 = 3*t*(1-t)*(1-t)*NC;
00072		term4 = 3*t*t*(1-t)*ND;
00073	
00074		return term1 + term2 + term3 + term4;
00075	}
00076	
00077	defaultproperties
00078	{
00079	     SlideRate=1.500000
00080	     test1=1.000000
00081	     test2=1.200000
00082	     StartTop=-260
00083	     bAlwaysBehind=True
00084	}

End Source Code