1
0
KF2-Dev-Scripts/Engine/Classes/ScriptedTexture.uc

49 lines
1.5 KiB
Ucode
Raw Normal View History

2020-12-13 15:01:13 +00:00
/**
*
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
*/
class ScriptedTexture extends TextureRenderTarget2D
native(Texture);
/** whether the texture needs to be redrawn. Render() will be called at the end of the tick, just before all other rendering. */
var transient bool bNeedsUpdate;
/** whether or not to clear the texture before the next call of the Render delegate */
var transient bool bSkipNextClear;
cpptext
{
/** global list of scripted textures that should be updated */
static TArray<UScriptedTexture*> GScriptedTextures;
UScriptedTexture();
virtual void BeginDestroy();
virtual void UpdateResource();
/** calls Render() (after setting up Canvas, etc) if the scripted texture needs an update */
void CheckUpdate();
protected:
/** native rendering hook. Default implementation just calls script delegate. */
virtual void Render(UCanvas* C);
}
/**
* Called whenever bNeedsUpdate is true to update the texture. The texture is cleared to ClearColor prior to calling this function
* (unless bSkipNextClear is set to true).
* bNeedsUpdate is reset before calling this function, so you can set it to true here to get another update next tick.
* bSkipNextClear is reset to false before calling this function, so set it to true here whenever you want the next clear to be skipped
*/
delegate Render(Canvas C);
defaultproperties
{
bNeedsUpdate=true
bNeedsTwoCopies=false
bSkipNextClear=false
AddressX=TA_Clamp
AddressY=TA_Clamp
}