Elaztek Developer Hub
Blamite Game Engine - blam!  00398.09.22.23.2015.blamite
The core library for the Blamite Game Engine.
enum.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <vector>
4 
6 
7 #ifdef BLAM_EXPORTS
8 #define BLAM_EXT_API __declspec(dllexport)
9 #else
10 #define BLAM_EXT_API __declspec(dllimport)
11 #endif
12 
20 {
21 private:
22  std::vector<std::string> options;
23  int* active_item = 0;
24  uint32_t max_index = 0;
25 
26 public:
27  EnumField(BlamTagFieldType _type, std::string _display_name, std::string _extra_info, std::vector<std::string> _options);
28 
29  void ShowImPropertyControl();
30 
31  std::string GetFieldXMLString(int offset);
32 };
33 
35 {
36 public:
37  Enum8Field(std::string _display_name, std::string _extra_info, std::vector<std::string> _options);
38 };
39 
41 {
42 public:
43  Enum16Field(std::string _display_name, std::string _extra_info, std::vector<std::string> _options);
44 };
45 
47 {
48 public:
49  Enum32Field(std::string _display_name, std::string _extra_info, std::vector<std::string> _options);
50 };
Blam::DebugUI::Widgets::ShowHelpMarker
BLAM void ShowHelpMarker(const char *desc)
Shows a help indicator.
Definition: widgets.cpp:7
EnumField::EnumField
EnumField(BlamTagFieldType _type, std::string _display_name, std::string _extra_info, std::vector< std::string > _options)
Definition: enum.cpp:10
Blam::Logger::LogEvent
BLAM void LogEvent(std::string message)
Logs a message to the log and/or console.
Definition: aliases.cpp:142
Enum16Field::Enum16Field
Enum16Field(std::string _display_name, std::string _extra_info, std::vector< std::string > _options)
Definition: enum.cpp:103
EnumField::GetFieldXMLString
std::string GetFieldXMLString(int offset)
Generates a string representing an XML node associated with this tag field, used for generating plugi...
Definition: enum.cpp:62
BLAM_EXT_API
#define BLAM_EXT_API
Definition: enum.h:10
UINT32_MAX
#define UINT32_MAX
Definition: stdint.h:70
BlamTagClassField.h
logger.h
imgui.h
Enum8Field::Enum8Field
Enum8Field(std::string _display_name, std::string _extra_info, std::vector< std::string > _options)
Definition: enum.cpp:97
BlamTagClassField::display_name
std::string display_name
The display name of the tag field.
Definition: BlamTagClassField.h:31
BlamTagClassField::GetFieldXMLString
virtual std::string GetFieldXMLString(int offset)
Generates a string representing an XML node associated with this tag field, used for generating plugi...
Definition: BlamTagClassField.cpp:32
ImGui::SameLine
IMGUI_API void SameLine(float offset_from_start_x=0.0f, float spacing=-1.0f)
Definition: imgui.cpp:7147
BlamTagClassField
Base class representing a plugin field.
Definition: BlamTagClassField.h:28
BlamTagFieldType
BlamTagFieldType
Enumerator listing all possible plugin field types.
Definition: tags.h:30
Enum32Field
Definition: enum.h:46
Enum32Field::Enum32Field
Enum32Field(std::string _display_name, std::string _extra_info, std::vector< std::string > _options)
Definition: enum.cpp:109
widgets.h
ImGui::BeginCombo
IMGUI_API bool BeginCombo(const char *label, const char *preview_value, ImGuiComboFlags flags=0)
Definition: imgui_widgets.cpp:1416
ImGui::Selectable
IMGUI_API bool Selectable(const char *label, bool selected=false, ImGuiSelectableFlags flags=0, const ImVec2 &size=ImVec2(0, 0))
Definition: imgui_widgets.cpp:5469
UINT8_MAX
#define UINT8_MAX
Definition: stdint.h:68
BlamTagClassField::read_address
void * read_address
The address of the data the field is currently representing.
Definition: BlamTagClassField.h:36
uint32_t
unsigned int uint32_t
Definition: stdint.h:17
EnumField::ShowImPropertyControl
void ShowImPropertyControl()
Shows a set of ImGUI controls representing the tag field.
Definition: enum.cpp:38
Enum8Field
Definition: enum.h:34
BlamTagFieldType::Enum32
@ Enum32
Indicates that the field is an Enum32.
ImGui::EndCombo
IMGUI_API void EndCombo()
Definition: imgui_widgets.cpp:1522
BlamTagClassField::type
BlamTagFieldType type
The type of the field.
Definition: BlamTagClassField.h:39
BlamTagFieldType::Enum8
@ Enum8
Indicates that the field is an Enum8.
BlamTagClassField::read_length
int read_length
How many bytes to read from the start of the address.
Definition: BlamTagClassField.h:37
options
Detailed options
Definition: README.txt:27
Enum16Field
Definition: enum.h:40
BlamTagFieldType::Enum16
@ Enum16
Indicates that the field is an Enum16.
BlamTagClassField::ShowImPropertyControl
virtual void ShowImPropertyControl()
Shows a set of ImGUI controls representing the tag field.
Definition: BlamTagClassField.cpp:22
BlamTagClassField::extra_info
std::string extra_info
Additional information to show alongside the field.
Definition: BlamTagClassField.h:32
EnumField
Class representing an enum tag field.
Definition: enum.h:19
BlamTagClassField::visible
bool visible
Whether or not this field should be marked as visible within the editor.
Definition: BlamTagClassField.h:34
enum.h