RBrowser
Class RBrowserMainWindow

source: c:\runehov\RBrowser\Classes\RBrowserMainWindow.uc
Core.Object
   |
   +--UWindow.UWindowBase
      |
      +--UWindow.UWindowWindow
         |
         +--UWindow.UWindowFramedWindow
            |
            +--UBrowser.UBrowserMainWindow
               |
               +--RBrowser.RBrowserMainWindow
Direct Known Subclasses:None

class RBrowserMainWindow
extends UBrowser.UBrowserMainWindow

//============================================================================= // RBrowserMainWindow - The main window //=============================================================================
Variables
 float Alpha
 float SlideRate
 int StartTop
 bool bOpen
 bool bOpening
 test1, test2


Function Summary
 void BeginPlay()
 void Created()
     
// Override Created() to get rid of sizing, moving, and close box
 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()
     
// Slide open logic from RuneMenuScrollingDialogClient
 bool IsActive()
 void SetSizePos()
 void ShowWindow()
 void SlideOpen()
 void Tick(float DeltaTime)



Source Code


00001	//=============================================================================
00002	// RBrowserMainWindow - The main window
00003	//=============================================================================
00004	class RBrowserMainWindow extends UBrowserMainWindow;
00005	
00006	var float SlideRate;
00007	var float Alpha;
00008	var bool bOpening;
00009	var bool bOpen;
00010	var float test1, test2;
00011	var int StartTop;
00012	
00013	function BeginPlay()
00014	{
00015		Super.BeginPlay();
00016	
00017		ClientClass = class'RBrowserMainClientWindow';
00018	}
00019	
00020	// Override Created() to get rid of sizing, moving, and close box
00021	function Created()
00022	{
00023		bMovable = False;
00024		bSizable = False;
00025		bStatusBar = True;
00026	
00027		Super(UWindowWindow).Created();
00028	
00029		MinWinWidth = 50;
00030		MinWinHeight = 50;
00031		ClientArea = CreateWindow(ClientClass, 4, 16, WinWidth - 8, WinHeight - 20, OwnerWindow);
00032		//CloseBox = UWindowFrameCloseBox(CreateWindow(Class'UWindowFrameCloseBox', WinWidth-20, WinHeight-20, 11, 10));
00033	
00034		MinWinWidth = 300;
00035		SetSizePos();
00036	}
00037	
00038	function bool IsActive()
00039	{
00040	//	return ParentWindow.ActiveWindow == Self;
00041		return true;
00042	}
00043	
00044	// Slide open logic from RuneMenuScrollingDialogClient
00045	function HideWindow()
00046	{
00047		Super.HideWindow();
00048		bOpen = false;
00049		bOpening = false;
00050		WinTop=StartTop;
00051	}
00052	
00053	function ShowWindow()
00054	{
00055		Super.ShowWindow();
00056		SlideOpen();
00057	}
00058	
00059	
00060	function SlideOpen()
00061	{
00062		bOpening = true;
00063		bOpen = false;
00064		WinTop=StartTop;
00065		Alpha=0;
00066	
00067		LookAndFeel.PlayMenuSound(Self, MS_BottomOpen);
00068	}
00069	
00070	function DoneOpening()
00071	{
00072		bOpening = false;
00073		bOpen = true;
00074	}
00075	
00076	function Tick(float DeltaTime)
00077	{
00078		local float PositionAlpha;
00079	
00080		if (bOpening)
00081		{
00082			Alpha += DeltaTime * SlideRate;
00083			if (Alpha >= 1.0)
00084				DoneOpening();
00085			Alpha = FClamp(Alpha, 0.0, 1.0);
00086			PositionAlpha = CubicBlend(Alpha, 0, 1, test1, test2);
00087			WinTop = StartTop + 360.0*PositionAlpha;
00088		}
00089	}
00090	
00091	//--------------------------------------------------------
00092	// CubicBlend
00093	//
00094	// t:	Alpha value [0..1]
00095	// N1:	Start value
00096	// N2:	End value
00097	// NC:	Control value 1
00098	// ND:	Control value 2
00099	//--------------------------------------------------------
00100	function float CubicBlend(float t, float N1, float N2, float NC, float ND)
00101	{
00102		local float term1, term2, term3, term4;
00103	
00104		term1 = (1-t)*(1-t)*(1-t)*N1;
00105		term2 = t*t*t*N2;
00106		term3 = 3*t*(1-t)*(1-t)*NC;
00107		term4 = 3*t*t*(1-t)*ND;
00108	
00109		return term1 + term2 + term3 + term4;
00110	}
00111	
00112	function SetSizePos()
00113	{
00114		WinLeft = 200;
00115		WinTop = 100;
00116		SetSize(440, 360);
00117	}
00118	
00119	defaultproperties
00120	{
00121	     SlideRate=1.500000
00122	     test1=1.000000
00123	     test2=1.200000
00124	     StartTop=-260
00125	     WindowTitleString="Rune Server Browser"
00126	     bAlwaysBehind=True
00127	}

End Source Code