UGKRayCasting_Line#

Inheritance Relationships#

Base Type#

Derived Type#

Class Documentation#

class UGKRayCasting_Line : public UGKFogOfWarStrategy#

Subclassed by UGKRayCasting_Triangle

Public Functions

UGKRayCasting_Line()#
virtual void Initialize(class AGKFogOfWarVolume *Volume)#

Initialize the strategy internal data given its fog volume.

inline virtual bool SupportVisbilityQuery() const override#

return true when IsVisible is implemented

virtual void SetupActor(class UGKFogOfWarComponent *Component) override#

Give the opportunity to the strategy to tweak the actor before play begin.

void SetCollisionFoWResponse(class UGKFogOfWarComponent *Component, UPrimitiveComponent *Primitive, ECollisionChannel Channel)#
virtual bool IsVisible(FGenericTeamId SeerTeam, FVector Loc) const override#

return true if the Seer team sees the location This might be slow; it has the query the render target directly UE usually expects that kind of thing to only happen when the editor is on

virtual void DrawFactionFog(class AGKFogOfWarTeam *FactionFog)#

Draw the fog of war for each factions.

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

Draw the line of sight using the right method.

virtual class UTexture *GetFactionTexture(FName name, bool bCreateRenderTarget = true)#

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

class UCanvasRenderTarget2D *GetFactionRenderTarget(FName name, bool bCreateRenderTarget = true)#
class UCanvasRenderTarget2D *GetFactionRenderTarget(FName Name) const#

Public Members

TEnumAsByte<ECollisionChannel> FogOfWarCollisionChannel#

Collision Channel used to draw the line of sight.

class UMaterialInterface *UnobstructedVisionMaterial#

Material used to draw unobstructed vision.

Protected Functions

virtual void DrawObstructedLineOfSight(class AGKFogOfWarTeam *FactionFog, UGKFogOfWarComponent *c)#

Draw the line of sight using LineTrace.

virtual void DrawUnobstructedLineOfSight(class AGKFogOfWarTeam *FactionFog, UGKFogOfWarComponent *c)#

Draw the ligne of sight using a material (no collision)

void DrawUnobstructedLineOfSight_Draw(class AGKFogOfWarTeam *FactionFog, UGKFogOfWarComponent *c)#
void DrawLines(class UGKFogOfWarComponent *c)#
class UCanvasRenderTarget2D *CreateRenderTarget()#

Protected Attributes

TArray<FGKLinePoints> Lines#
TMap<FName, class UCanvasRenderTarget2D*> FogFactions#
TArray<AActor*> ActorsToIgnore#
bool DrawingFog#