Class UGKShadowCasting

Inheritance Relationships

Base Type

Class Documentation

class UGKShadowCasting : public UGKFogOfWarStrategy

/rst

Notes

Maybe we can use this version to run on the dedicated server & client. In addition the client could generate rendering data to display a more appealing fog of war.

References

.. [1] Roguelike Vision Algorithms <>_ .. [2] Symmetric Shadowcasting <>_

/endrst

Public Functions

inline virtual bool SupportVisbilityQuery() const override

return true when IsVisible is implemented

virtual bool IsVisible(FGenericTeamId SeerTeam, FVector Loc) const override

return true if the Seer team sees the location

virtual void Initialize() override
virtual void DrawFactionFog(class AGKFogOfWarTeam *FactionFog) override

Draw the fog of war for each factions.

virtual void Stop() override
virtual void DrawLineOfSight(class AGKFogOfWarTeam *FactionFog, class UGKFogOfWarComponent *c) override

Draw the line of sight using the right method.

void UpdateBlocking(class UGKFogOfWarComponent *c)
void UpdateTextures(class AGKFogOfWarTeam *TeamFog)
void ExtractLandscapeHeightMap()
virtual class UTexture *GetFactionTexture(FName name, bool CreateRenderTarget = true) override

Retrieve the Texture used to draw the fog of war for a given faction.

class UTexture2D *GetFactionTexture2D(FName name, bool CreateRenderTarget = true)
class UTexture2D *GetPreviousFrameFactionTexture2D(FName name, bool bCreateRenderTarget = true)
class UTexture2D *CreateTexture2D()
virtual class UTexture *GetPreviousFrameFactionTexture(FName name, bool CreateRenderTarget = true)

Retrieve the Texture used to draw the fog of war for a given faction.

void UpdatePreviousFrameTexturesTex(class AGKFogOfWarTeam *TeamFog)
void UpdatePreviousFrameTextures(class AGKFogOfWarTeam *TeamFog)