55 std::vector<C4FoWLightSection*> sections;
58 int32_t
getX()
const {
return iX; }
59 int32_t
getY()
const {
return iY; }
66 float getR()
const {
return colorR; }
67 float getG()
const {
return colorG; }
68 float getB()
const {
return colorB; }
76 void SetReach(int32_t iReach, int32_t iFadeout);
91 typedef std::list<class C4FoWBeamTriangle> TriangleList;
94 void CalculateFanMaxed(TriangleList &triangles)
const;
96 void CalculateIntermediateFadeTriangles(TriangleList &triangles)
const;
98 void ProjectPointOutward(
float &x,
float &y,
float maxDistance)
const;
107 void DrawIntermediateFadeTriangles(
C4FoWDrawStrategy* pen, TriangleList &triangles)
const;
110 float GetSquaredDistanceTo(int32_t x, int32_t y)
const {
return (x -
getX()) * (x -
getX()) + (y -
getY()) * (y -
getY()); }
114 std::unique_ptr<C4FoWDrawStrategy> OnScreenStrategy;
115 std::unique_ptr<C4FoWDrawStrategy> OffScreenStrategy;
C4FoWLight(C4Object *pObj)
void SetReach(int32_t iReach, int32_t iFadeout)
float getBrightness() const
C4Object * getObj() const
void SetColor(uint32_t iValue)
void Invalidate(C4Rect r)
int32_t getTotalReach() const
bool IsVisibleForPlayer(C4Player *player) const
void Render(class C4FoWRegion *pRegion, const C4TargetFacet *pOnScreen, C4ShaderCall &call)
int32_t getFadeout() const
int32_t getNormalSize() const
float getLightness() const
C4FoWLight * getNext() const