Colobot
Loading...
Searching...
No Matches
Gfx::CLightning Class Reference

Lightning effect renderer. More...

#include <src/graphics/engine/lightning.h>

Classes

struct  LightningSegment

Public Member Functions

 CLightning (CEngine *engine)
bool Create (float sleep, float delay, float magnetic)
 Triggers lightning.
void Flush ()
 Removes lightning.
bool GetStatus (float &sleep, float &delay, float &magnetic, float &progress)
 Gives the status of lightning.
bool SetStatus (float sleep, float delay, float magnetic, float progress)
 Specifies the status of lightning.
bool EventProcess (const Event &event)
 Management of an event.
void Draw ()
 Draws lightning.
void StrikeAtPos (Math::Vector pos)
 Shoots lightning strike at given position.

Protected Types

enum class  LightningPhase { Wait , Flash }

Protected Member Functions

bool EventFrame (const Event &event)
 Updates lightning.
CObjectSearchObject (Math::Vector pos)
 Seeks for the object closest to the lightning.

Protected Attributes

CEnginem_engine = nullptr
CTerrainm_terrain = nullptr
CCameram_camera = nullptr
CSoundInterfacem_sound = nullptr
bool m_lightningExists = false
float m_sleep = 0.0f
float m_delay = 0.0f
float m_magnetic = 0.0f
float m_speed = 0.0f
float m_progress = 0.0f
Math::Vector m_pos
LightningPhase m_phase = LightningPhase::Wait
std::vector< LightningSegmentm_segments

Detailed Description

Lightning effect renderer.

TODO: documentation

Member Function Documentation

◆ Create()

bool Gfx::CLightning::Create ( float sleep,
float delay,
float magnetic )

Triggers lightning.

◆ Flush()

void Gfx::CLightning::Flush ( )

Removes lightning.

◆ GetStatus()

bool Gfx::CLightning::GetStatus ( float & sleep,
float & delay,
float & magnetic,
float & progress )

Gives the status of lightning.

◆ SetStatus()

bool Gfx::CLightning::SetStatus ( float sleep,
float delay,
float magnetic,
float progress )

Specifies the status of lightning.

◆ EventProcess()

bool Gfx::CLightning::EventProcess ( const Event & event)

Management of an event.

◆ Draw()

void Gfx::CLightning::Draw ( )

Draws lightning.

◆ StrikeAtPos()

void Gfx::CLightning::StrikeAtPos ( Math::Vector pos)

Shoots lightning strike at given position.

◆ EventFrame()

bool Gfx::CLightning::EventFrame ( const Event & event)
protected

Updates lightning.

◆ SearchObject()

CObject * Gfx::CLightning::SearchObject ( Math::Vector pos)
protected

Seeks for the object closest to the lightning.


The documentation for this class was generated from the following files: