Class UIP_MiniGame extends KFGUI_MultiComponent; var MX_MiniGameBase ActiveGame; var transient float LastUpdateTime; var WorldInfo Level; function ShowMenu() { Super.ShowMenu(); Level = GetPlayer().WorldInfo; LastUpdateTime = Level.RealTimeSeconds; if (ActiveGame==None) { ActiveGame = new (GetPlayer()) class'MX_PongGame'; ActiveGame.Init(); ActiveGame.SetFXTrack(ExtPlayerController(GetPlayer()).BonusFX); ActiveGame.StartGame(); } } function DrawMenu() { // Update input. ActiveGame.SetMouse(Owner.MousePosition.X-CompPos[0],Owner.MousePosition.Y-CompPos[1]); // Handle tick. ActiveGame.Tick(FMin(Level.RealTimeSeconds-LastUpdateTime,0.05)); LastUpdateTime = Level.RealTimeSeconds; // Draw background. Canvas.SetPos(0,0); Canvas.SetDrawColor(0,0,0,255); Canvas.DrawTile(Canvas.DefaultTexture,CompPos[2],CompPos[3],0,0,1,1); // Draw minigame ActiveGame.Canvas = Canvas; ActiveGame.Render(0,0,CompPos[2],CompPos[3]); ActiveGame.Canvas = None; } defaultproperties { }