58 lines
1.8 KiB
Ucode
58 lines
1.8 KiB
Ucode
/**
|
|
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
|
*
|
|
* This is the base class of all Mobile sequence events.
|
|
*/
|
|
class SeqEvent_HudRenderImage extends SeqEvent_HudRender;
|
|
|
|
/** The color to modulate the text by */
|
|
var(HUD) LinearColor DisplayColor;
|
|
|
|
/** The Location to display the text at */
|
|
var(HUD) vector DisplayLocation;
|
|
|
|
/** The texture to display */
|
|
var(HUD) Texture2D DisplayTexture;
|
|
|
|
/** The Size of the image to display */
|
|
var(HUD) float XL, YL;
|
|
|
|
/** The UVs */
|
|
var(HUD) float U,V,UL,VL;
|
|
|
|
/**
|
|
* Perform the actual rendering
|
|
*/
|
|
function Render(Canvas TargetCanvas, Hud TargetHud)
|
|
{
|
|
local float UsedX, UsedY, UsedXL, UsedYL;
|
|
local float GlobalScaleX, GlobalScaleY;
|
|
|
|
if (bIsActive)
|
|
{
|
|
PublishLinkedVariableValues();
|
|
|
|
// cache the global scales
|
|
GlobalScaleX = class'MobileMenuScene'.static.GetGlobalScaleX() / AuthoredGlobalScale;
|
|
GlobalScaleY = class'MobileMenuScene'.static.GetGlobalScaleY() / AuthoredGlobalScale;
|
|
|
|
// for floating point values, just multiply it by the canvas size
|
|
// otherwise, apply GlobalScaleFactor, while undoing the scale factor they author at
|
|
UsedX = (DisplayLocation.X < 1.0f) ? DisplayLocation.X * TargetCanvas.SizeX : (DisplayLocation.X * GlobalScaleX);
|
|
UsedY = (DisplayLocation.Y < 1.0f) ? DisplayLocation.Y * TargetCanvas.SizeY : (DisplayLocation.Y * GlobalScaleY);
|
|
UsedXL = (XL <= 1.0f) ? XL * TargetCanvas.SizeX : (XL * GlobalScaleX);
|
|
UsedYL = (YL <= 1.0f) ? YL * TargetCanvas.SizeX : (YL * GlobalScaleY);
|
|
TargetCanvas.SetPos(UsedX, UsedY);
|
|
TargetCanvas.DrawTile(DisplayTexture, UsedXL, UsedYL, U, V, UL, VL, DisplayColor);
|
|
}
|
|
}
|
|
|
|
|
|
defaultproperties
|
|
{
|
|
ObjName="Draw Image"
|
|
ObjCategory="HUD"
|
|
|
|
VariableLinks(2)=(ExpectedType=class'SeqVar_Vector',LinkDesc="Display Location",bWriteable=true,PropertyName=DisplayLocation,MaxVars=1)
|
|
|
|
} |