Olympe Engine 2.0
2D Game Engine with ECS Architecture
Loading...
Searching...
No Matches
ColorScheme.h
Go to the documentation of this file.
1#pragma once
2
3#include <cstdint>
4#include "../third_party/imgui/imgui.h"
5
6// Centralized color scheme for BehaviorTree nodes
7// Provides semantic color mapping for all node types
8
9namespace ColorScheme
10{
11 // ========== Entry Point Nodes (Green Tones) ==========
12 // Root and OnEvent are entry points - they have no input pins
13 constexpr ImU32 EntryPoint_Primary = IM_COL32(0, 200, 80, 255); // Darker green
14 constexpr ImU32 EntryPoint_Hovered = IM_COL32(0, 255, 100, 255); // Brighter green (hovered)
15 constexpr ImU32 EntryPoint_Selected = IM_COL32(100, 255, 150, 255); // Light green (selected)
16
17 // ========== Composite Nodes (Dark Blue Tones) ==========
18 // Selector, Sequence, Parallel - composite nodes that manage children
19 constexpr ImU32 Composite_Primary = IM_COL32(40, 80, 140, 255); // Dark blue
20 constexpr ImU32 Composite_Hovered = IM_COL32(70, 110, 180, 255); // Lighter dark blue (hovered)
21 constexpr ImU32 Composite_Selected = IM_COL32(100, 140, 210, 255); // Very light dark blue (selected)
22
23 // ========== Flow Control Nodes (Purple/Violet Tones) ==========
24 // Condition nodes - control execution flow
25 constexpr ImU32 FlowControl_Primary = IM_COL32(100, 50, 140, 255); // Purple
26 constexpr ImU32 FlowControl_Hovered = IM_COL32(130, 70, 180, 255); // Lighter purple (hovered)
27 constexpr ImU32 FlowControl_Selected = IM_COL32(160, 100, 210, 255); // Very light purple (selected)
28
29 // ========== Action Nodes (Orange Tones) ==========
30 // Action nodes are leaf execution nodes
31 constexpr ImU32 Action_Primary = IM_COL32(200, 120, 40, 255); // Orange
32 constexpr ImU32 Action_Hovered = IM_COL32(220, 140, 60, 255); // Lighter orange (hovered)
33 constexpr ImU32 Action_Selected = IM_COL32(240, 160, 80, 255); // Very light orange (selected)
34
35 // ========== Inverter Nodes (Purple-Plum Tones) ==========
36 // Inverter nodes negate execution results
37 constexpr ImU32 Inverter_Primary = IM_COL32(140, 60, 120, 255); // Purple-plum
38 constexpr ImU32 Inverter_Hovered = IM_COL32(160, 80, 140, 255); // Lighter purple-plum (hovered)
39 constexpr ImU32 Inverter_Selected = IM_COL32(180, 100, 160, 255); // Very light purple-plum (selected)
40
41 // ========== Repeater Nodes (Yellow/Ochre Tones) ==========
42 // Repeater nodes loop execution
43 constexpr ImU32 Repeater_Primary = IM_COL32(180, 150, 40, 255); // Yellow/ochre
44 constexpr ImU32 Repeater_Hovered = IM_COL32(210, 180, 60, 255); // Lighter yellow/ochre (hovered)
45 constexpr ImU32 Repeater_Selected = IM_COL32(240, 210, 80, 255); // Very light yellow/ochre (selected)
46
47 // ========== Special Nodes (Legacy Support) ==========
48 // SubGraph nodes
49 constexpr ImU32 SubGraph_Primary = IM_COL32(80, 100, 140, 255); // Steel blue
50 constexpr ImU32 SubGraph_Hovered = IM_COL32(110, 130, 170, 255); // Lighter steel blue (hovered)
51 constexpr ImU32 SubGraph_Selected = IM_COL32(140, 160, 200, 255); // Very light steel blue (selected)
52
53 // Comment nodes (HFSM-specific)
54 constexpr ImU32 Comment_Primary = IM_COL32(100, 100, 100, 255); // Neutral gray
55 constexpr ImU32 Comment_Hovered = IM_COL32(130, 130, 130, 255); // Lighter gray (hovered)
56 constexpr ImU32 Comment_Selected = IM_COL32(160, 160, 160, 255); // Very light gray (selected)
57
58} // namespace ColorScheme
ComponentTypeID GetComponentTypeID_Static()
Definition ECS_Entity.h:56
constexpr ImU32 Composite_Primary
Definition ColorScheme.h:19
constexpr ImU32 SubGraph_Selected
Definition ColorScheme.h:51
constexpr ImU32 EntryPoint_Primary
Definition ColorScheme.h:13
constexpr ImU32 Inverter_Selected
Definition ColorScheme.h:39
constexpr ImU32 Composite_Selected
Definition ColorScheme.h:21
constexpr ImU32 Inverter_Hovered
Definition ColorScheme.h:38
constexpr ImU32 FlowControl_Selected
Definition ColorScheme.h:27
constexpr ImU32 SubGraph_Primary
Definition ColorScheme.h:49
constexpr ImU32 Action_Selected
Definition ColorScheme.h:33
constexpr ImU32 Inverter_Primary
Definition ColorScheme.h:37
constexpr ImU32 EntryPoint_Hovered
Definition ColorScheme.h:14
constexpr ImU32 Comment_Selected
Definition ColorScheme.h:56
constexpr ImU32 Comment_Hovered
Definition ColorScheme.h:55
constexpr ImU32 Repeater_Selected
Definition ColorScheme.h:45
constexpr ImU32 FlowControl_Primary
Definition ColorScheme.h:25
constexpr ImU32 SubGraph_Hovered
Definition ColorScheme.h:50
constexpr ImU32 Repeater_Primary
Definition ColorScheme.h:43
constexpr ImU32 Repeater_Hovered
Definition ColorScheme.h:44
constexpr ImU32 Action_Hovered
Definition ColorScheme.h:32
constexpr ImU32 FlowControl_Hovered
Definition ColorScheme.h:26
constexpr ImU32 EntryPoint_Selected
Definition ColorScheme.h:15
constexpr ImU32 Composite_Hovered
Definition ColorScheme.h:20
constexpr ImU32 Action_Primary
Definition ColorScheme.h:31
constexpr ImU32 Comment_Primary
Definition ColorScheme.h:54