Olympe Engine 2.0
2D Game Engine with ECS Architecture
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
Olympe::SelectionEffectRenderer Class Reference

Encapsule l'effet de sélection des nodes (glow + bordure épaisse) More...

#include <SelectionEffectRenderer.h>

+ Collaboration diagram for Olympe::SelectionEffectRenderer:

Public Member Functions

 SelectionEffectRenderer ()
 
 ~SelectionEffectRenderer ()=default
 
void SetGlowColor (const Vector &color)
 Définit la couleur du glow de sélection.
 
Vector GetGlowColor () const
 
void SetGlowAlpha (float alpha)
 Définit l'alpha (transparence) du glow.
 
float GetGlowAlpha () const
 
void SetBaseGlowSize (float size)
 Définit la taille de base du glow (avant zoom/scale)
 
float GetBaseGlowSize () const
 
void SetBorderWidthMultiplier (float multiplier)
 Définit le multiplicateur d'épaisseur de bordure.
 
float GetBorderWidthMultiplier () const
 
void SetGlowEnabled (bool enabled)
 Active/désactive l'effet de glow (utile pour performance) @default true.
 
bool IsGlowEnabled () const
 
void RenderSelectionGlow (const ImVec2 &minScreen, const ImVec2 &maxScreen, float canvasZoom=1.0f, float nodeScale=1.0f, float cornerRadius=5.0f) const
 Dessine le glow de sélection (fond lumineux)
 
void RenderSelectionBorder (const ImVec2 &minScreen, const ImVec2 &maxScreen, ImU32 borderColor, float baseWidth, float canvasZoom=1.0f, float cornerRadius=5.0f) const
 Rend la bordure de sélection (épaissie)
 
void RenderCompleteSelection (const ImVec2 &minScreen, const ImVec2 &maxScreen, ImU32 borderColor, float baseWidth, float canvasZoom=1.0f, float nodeScale=1.0f, float cornerRadius=5.0f) const
 Rend l'ensemble de l'effet de sélection (glow + bordure)
 
void ApplyStyle_OlympeBlue ()
 Style standard "Olympe Blue" - Cyan vif avec glow modéré
 
void ApplyStyle_GoldAccent ()
 Style "Gold Accent" - Orange/or pour éditeurs de spécialité
 
void ApplyStyle_GreenEnergy ()
 Style "Green Energy" - Vert lumineux pour emphasis.
 
void ApplyStyle_PurpleMystery ()
 Style "Purple Mystery" - Violet/magenta.
 
void ApplyStyle_RedAlert ()
 Style "Red Alert" - Rouge vif pour avertissements/erreurs.
 

Private Attributes

Vector m_glowColor = {0.0f, 0.8f, 1.0f}
 
float m_glowAlpha = 0.3f
 
float m_baseGlowSize = 4.0f
 
float m_borderWidthMultiplier = 2.0f
 
bool m_glowEnabled = true
 

Detailed Description

Encapsule l'effet de sélection des nodes (glow + bordure épaisse)

Fournit un système standardisé de rendu de sélection réutilisable dans tous les canvas (VisualScript, EntityPrefab, AIEditor, etc.)

Usage: SelectionEffectRenderer renderer; renderer.SetGlowColor({0.0f, 0.8f, 1.0f}); renderer.SetGlowAlpha(0.3f);

// During node rendering if (node.selected) { renderer.RenderSelectionGlow(minScreen, maxScreen, canvasZoom, nodeScale); } renderer.RenderSelectionBorder(minScreen, maxScreen, nodeColor, baseWidth, canvasZoom);

Definition at line 25 of file SelectionEffectRenderer.h.

Constructor & Destructor Documentation

◆ SelectionEffectRenderer()

Olympe::SelectionEffectRenderer::SelectionEffectRenderer ( )

Definition at line 5 of file SelectionEffectRenderer.cpp.

◆ ~SelectionEffectRenderer()

Olympe::SelectionEffectRenderer::~SelectionEffectRenderer ( )
default

Member Function Documentation

◆ ApplyStyle_GoldAccent()

void Olympe::SelectionEffectRenderer::ApplyStyle_GoldAccent ( )

Style "Gold Accent" - Orange/or pour éditeurs de spécialité

Definition at line 94 of file SelectionEffectRenderer.cpp.

References m_baseGlowSize, m_borderWidthMultiplier, m_glowAlpha, and m_glowColor.

◆ ApplyStyle_GreenEnergy()

void Olympe::SelectionEffectRenderer::ApplyStyle_GreenEnergy ( )

Style "Green Energy" - Vert lumineux pour emphasis.

Definition at line 102 of file SelectionEffectRenderer.cpp.

References m_baseGlowSize, m_borderWidthMultiplier, m_glowAlpha, and m_glowColor.

◆ ApplyStyle_OlympeBlue()

void Olympe::SelectionEffectRenderer::ApplyStyle_OlympeBlue ( )

Style standard "Olympe Blue" - Cyan vif avec glow modéré

Definition at line 86 of file SelectionEffectRenderer.cpp.

References m_baseGlowSize, m_borderWidthMultiplier, m_glowAlpha, and m_glowColor.

◆ ApplyStyle_PurpleMystery()

void Olympe::SelectionEffectRenderer::ApplyStyle_PurpleMystery ( )

Style "Purple Mystery" - Violet/magenta.

Definition at line 110 of file SelectionEffectRenderer.cpp.

References m_baseGlowSize, m_borderWidthMultiplier, m_glowAlpha, and m_glowColor.

◆ ApplyStyle_RedAlert()

void Olympe::SelectionEffectRenderer::ApplyStyle_RedAlert ( )

Style "Red Alert" - Rouge vif pour avertissements/erreurs.

Definition at line 118 of file SelectionEffectRenderer.cpp.

References m_baseGlowSize, m_borderWidthMultiplier, m_glowAlpha, and m_glowColor.

◆ GetBaseGlowSize()

float Olympe::SelectionEffectRenderer::GetBaseGlowSize ( ) const
inline

Definition at line 49 of file SelectionEffectRenderer.h.

References m_baseGlowSize.

◆ GetBorderWidthMultiplier()

float Olympe::SelectionEffectRenderer::GetBorderWidthMultiplier ( ) const
inline

Definition at line 57 of file SelectionEffectRenderer.h.

References m_borderWidthMultiplier.

◆ GetGlowAlpha()

float Olympe::SelectionEffectRenderer::GetGlowAlpha ( ) const
inline

Definition at line 43 of file SelectionEffectRenderer.h.

References m_glowAlpha.

◆ GetGlowColor()

Vector Olympe::SelectionEffectRenderer::GetGlowColor ( ) const
inline

Definition at line 37 of file SelectionEffectRenderer.h.

References m_glowColor.

◆ IsGlowEnabled()

bool Olympe::SelectionEffectRenderer::IsGlowEnabled ( ) const
inline

Definition at line 62 of file SelectionEffectRenderer.h.

References m_glowEnabled.

◆ RenderCompleteSelection()

void Olympe::SelectionEffectRenderer::RenderCompleteSelection ( const ImVec2 minScreen,
const ImVec2 maxScreen,
ImU32  borderColor,
float  baseWidth,
float  canvasZoom = 1.0f,
float  nodeScale = 1.0f,
float  cornerRadius = 5.0f 
) const

Rend l'ensemble de l'effet de sélection (glow + bordure)

Fonction de commodité qui appelle RenderSelectionGlow et RenderSelectionBorder. À utiliser si vous voulez contrôler totalement le rendu.

Parameters
minScreenPosition écran minimale
maxScreenPosition écran maximale
borderColorCouleur de la bordure
baseWidthÉpaisseur de bordure de base
canvasZoomNiveau de zoom
nodeScaleÉchelle du node
cornerRadiusRayon des coins

Definition at line 71 of file SelectionEffectRenderer.cpp.

References GetComponentTypeID_Static(), RenderSelectionBorder(), and RenderSelectionGlow().

+ Here is the call graph for this function:

◆ RenderSelectionBorder()

void Olympe::SelectionEffectRenderer::RenderSelectionBorder ( const ImVec2 minScreen,
const ImVec2 maxScreen,
ImU32  borderColor,
float  baseWidth,
float  canvasZoom = 1.0f,
float  cornerRadius = 5.0f 
) const

Rend la bordure de sélection (épaissie)

Appeler APRÈS la boîte principale du node. Automatiquement multiplie l'épaisseur de base par le multiplicateur.

Parameters
minScreenPosition écran minimale
maxScreenPosition écran maximale
borderColorCouleur de la bordure en ImU32
baseWidthÉpaisseur de base (avant multiplication)
canvasZoomNiveau de zoom du canvas
cornerRadiusRayon des coins arrondis

Definition at line 46 of file SelectionEffectRenderer.cpp.

References GetComponentTypeID_Static(), and m_borderWidthMultiplier.

Referenced by RenderCompleteSelection().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RenderSelectionGlow()

void Olympe::SelectionEffectRenderer::RenderSelectionGlow ( const ImVec2 minScreen,
const ImVec2 maxScreen,
float  canvasZoom = 1.0f,
float  nodeScale = 1.0f,
float  cornerRadius = 5.0f 
) const

Dessine le glow de sélection (fond lumineux)

Cette fonction doit être appelée AVANT de dessiner la boîte du node, pour que le glow apparaisse en arrière-plan.

Parameters
minScreenPosition écran minimale (coin haut-gauche)
maxScreenPosition écran maximale (coin bas-droit)
canvasZoomNiveau de zoom du canvas
nodeScaleMultiplicateur d'échelle du node (défaut 1.0f)
cornerRadiusRayon des coins arrondis

Definition at line 14 of file SelectionEffectRenderer.cpp.

References GetComponentTypeID_Static(), m_baseGlowSize, m_glowAlpha, m_glowColor, m_glowEnabled, Vector::x, Vector::y, and Vector::z.

Referenced by RenderCompleteSelection().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetBaseGlowSize()

void Olympe::SelectionEffectRenderer::SetBaseGlowSize ( float  size)
inline

Définit la taille de base du glow (avant zoom/scale)

Parameters
sizePixels non-zoomés @default 4.0f

Definition at line 48 of file SelectionEffectRenderer.h.

References m_baseGlowSize.

◆ SetBorderWidthMultiplier()

void Olympe::SelectionEffectRenderer::SetBorderWidthMultiplier ( float  multiplier)
inline

Définit le multiplicateur d'épaisseur de bordure.

Parameters
multiplierÉpaisseur finale = baseWidth * multiplier @default 2.0f (la bordure double quand sélectionné)

Definition at line 56 of file SelectionEffectRenderer.h.

References GetComponentTypeID_Static(), and m_borderWidthMultiplier.

+ Here is the call graph for this function:

◆ SetGlowAlpha()

void Olympe::SelectionEffectRenderer::SetGlowAlpha ( float  alpha)
inline

Définit l'alpha (transparence) du glow.

Parameters
alphaValeur 0.0-1.0 (0=invisible, 1=opaque) @default 0.3f

Definition at line 42 of file SelectionEffectRenderer.h.

References GetComponentTypeID_Static(), and m_glowAlpha.

+ Here is the call graph for this function:

◆ SetGlowColor()

void Olympe::SelectionEffectRenderer::SetGlowColor ( const Vector color)
inline

Définit la couleur du glow de sélection.

Parameters
colorCouleur RGB (valeurs 0.0-1.0) @default {0.0f, 0.8f, 1.0f} (Cyan)

Definition at line 36 of file SelectionEffectRenderer.h.

References m_glowColor.

◆ SetGlowEnabled()

void Olympe::SelectionEffectRenderer::SetGlowEnabled ( bool  enabled)
inline

Active/désactive l'effet de glow (utile pour performance) @default true.

Definition at line 61 of file SelectionEffectRenderer.h.

References m_glowEnabled.

Member Data Documentation

◆ m_baseGlowSize

float Olympe::SelectionEffectRenderer::m_baseGlowSize = 4.0f
private

◆ m_borderWidthMultiplier

float Olympe::SelectionEffectRenderer::m_borderWidthMultiplier = 2.0f
private

◆ m_glowAlpha

float Olympe::SelectionEffectRenderer::m_glowAlpha = 0.3f
private

◆ m_glowColor

Vector Olympe::SelectionEffectRenderer::m_glowColor = {0.0f, 0.8f, 1.0f}
private

◆ m_glowEnabled

bool Olympe::SelectionEffectRenderer::m_glowEnabled = true
private

Definition at line 154 of file SelectionEffectRenderer.h.

Referenced by IsGlowEnabled(), RenderSelectionGlow(), and SetGlowEnabled().


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