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.
CObject * | SearchObject (Math::Vector pos)
| Seeks for the object closest to the lightning.

## Protected Attributes

CEngine * | m_engine = nullptr
CTerrain * | m_terrain = nullptr
CCamera * | m_camera = nullptr
CSoundInterface * | m_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< LightningSegment > | m_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:

- src/graphics/engine/lightning.h
- src/graphics/engine/lightning.cpp