Elaztek Developer Hub
Blamite Game Engine - blam!  00368.02.12.23.1347.blamite
The core library for the Blamite Game Engine.
BlamPluginField.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 
6 {
7  Ascii,
8  Int8,
9  Int16,
10  Int32,
11  Int64,
12  Real,
13  Bitfield8,
14  Bitfield16,
15  Bitfield32,
16  Enum8,
17  Enum16,
18  Enum32,
19  Block,
20  Color,
21  Boolean,
22 
25 
26  Vector2,
27  Vector3,
28  Vector4,
29 
30  Comment,
32 };
33 
51 {
52 public:
53  std::string display_name;
54  std::string extra_info;
55  std::string input_hint;
56  bool visible = true;
57 
58  void* read_address;
60 
62 
63  BlamPluginField(BlamPluginFieldType _type, std::string _display_name, std::string _extra_info);
64 
65  BlamPluginField(BlamPluginFieldType _type, std::string _display_name, std::string _extra_info, std::string _valid_input_label);
66 
72  virtual void ShowImPropertyControl();
73 
79  virtual void SetMemoryLocation(void* new_address);
80 
91  virtual std::string GetFieldXMLString(int offset);
92 };
BlamPluginFieldType::Bitfield16
@ Bitfield16
BlamPluginFieldType::Enum8
@ Enum8
BlamPluginFieldType::Bitfield32
@ Bitfield32
BlamPluginField::read_length
int read_length
How many bytes to read from the start of the address.
Definition: BlamPluginField.h:59
BlamPluginFieldType::Enum16
@ Enum16
BlamPluginFieldType::Color
@ Color
BlamPluginField::input_hint
std::string input_hint
A label specifying possible valid input. Not always shown.
Definition: BlamPluginField.h:55
BlamPluginFieldType::Int8
@ Int8
BlamPluginFieldType::Block
@ Block
BlamPluginFieldType::Bitfield8
@ Bitfield8
BlamPluginFieldType::DataReference
@ DataReference
BlamPluginField::type
BlamPluginFieldType type
The type of the field.
Definition: BlamPluginField.h:61
BlamPluginField::display_name
std::string display_name
The display name of the tag field.
Definition: BlamPluginField.h:53
BlamPluginField
Base class representing a plugin field.
Definition: BlamPluginField.h:50
BlamPluginFieldType::Vector4
@ Vector4
BlamPluginField::visible
bool visible
Whether or not this field should be marked as visible within the editor.
Definition: BlamPluginField.h:56
BlamPluginFieldType::Boolean
@ Boolean
BlamPluginField::ShowImPropertyControl
virtual void ShowImPropertyControl()
Shows a set of ImGUI controls representing the tag field.
Definition: BlamPluginField.cpp:22
BlamPluginField::SetMemoryLocation
virtual void SetMemoryLocation(void *new_address)
Sets the address of the data that the plugin field should display.
Definition: BlamPluginField.cpp:27
BlamPluginField::GetFieldXMLString
virtual std::string GetFieldXMLString(int offset)
Generates a string representing an XML node associated with this tag field, used for generating plugi...
Definition: BlamPluginField.cpp:32
BlamOgreRenderSystemType::Unspecified
@ Unspecified
BlamPluginFieldType::Comment
@ Comment
BlamPluginFieldType::Int64
@ Int64
BlamPluginFieldType::Real
@ Real
BlamPluginField::extra_info
std::string extra_info
Additional information to show alongside the field.
Definition: BlamPluginField.h:54
BlamPluginFieldType::TagReference
@ TagReference
BlamPluginFieldType::Int16
@ Int16
BlamPluginField::BlamPluginField
BlamPluginField(BlamPluginFieldType _type, std::string _display_name, std::string _extra_info)
Definition: BlamPluginField.cpp:7
BlamPluginField::read_address
void * read_address
The address of the data the field is currently representing.
Definition: BlamPluginField.h:58
BlamPluginFieldType::Ascii
@ Ascii
BlamPluginFieldType::Enum32
@ Enum32
BlamPluginFieldType
BlamPluginFieldType
Definition: BlamPluginField.h:5
BlamPluginFieldType::Vector3
@ Vector3
BlamPluginFieldType::Vector2
@ Vector2
BlamPluginFieldType::Int32
@ Int32