Elaztek Developer Hub
Blamite Game Engine - Guerilla (Library)  00453.06.08.26.0624.blamite
The tag editor for the Blamite Game Engine.
vector.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "../fields.h"
4 #include <Strings/components/classes/vector/vector.h>
5 
6 #define DEFAULT_VECTOR_FIELD_DECIMAL_PLACES 6
7 
8 #ifdef GUERILLA_LIB_EXPORTS
9 #define GUERILLA_LIB_API __declspec(dllexport)
10 #else
11 #define GUERILLA_LIB_API __declspec(dllimport)
12 #endif
13 
21 {
22 public:
23  bool integer_mode = false;
25 
27 
28  std::string GenerateCppStructString(std::string line_prefix = "", BlamPluginExportOptions options = BlamPluginExportOptions()) override;
29  std::string GenerateCppClassString(std::string line_prefix = "") override;
30  BlamTagField* GenerateTagField(BlamTag* tag, void* address) override;
31  BlamTagField* GenerateTagField(BlamTag* tag) override;
32  BlamPluginField* Copy(BlamPlugin* new_plugin) override;
33  std::string GenerateXMLString() override;
34  bool ParseXMLData(rapidxml::xml_node<>* field_node) override;
35 };
36 
44 {
45 private:
46 
47 public:
48  BlamVector4 value = { 0.0f, 0.0f, 0.0f, 0.0f };
49 
56  BlamTagField_Vector(BlamTag* _tag, BlamTagFieldType _type);
57 
58  std::string GenerateXMLString();
59  std::vector<char> GetValueAsBytes();
60 
61  BlamVector2 GetVector2();
62  BlamVector3 GetVector3();
63 };
BlamTagField
Class representing a tag field.
Definition: fields.h:272
BlamTagField_Vector::BlamTagField_Vector
BlamTagField_Vector(BlamTag *_tag, BlamTagFieldType _type)
Constructs a new integer tag field.
Definition: BlamTagField_Vector.cpp:8
BlamTagField::GetType
BlamTagFieldType GetType()
Retrieves the type of this field.
Definition: BlamTagField.cpp:19
BlamPluginField::GenerateTagField
virtual BlamTagField * GenerateTagField(BlamTag *tag)
Generates a new tag field from this plugin field.
Definition: BlamPluginField.cpp:41
BlamPluginExportOptions::generate_doxygen_comments
bool generate_doxygen_comments
Whether or not to include doxygen-compatible comments when generating the tag struct.
Definition: fields.h:29
DEFAULT_VECTOR_FIELD_DECIMAL_PLACES
#define DEFAULT_VECTOR_FIELD_DECIMAL_PLACES
Definition: vector.h:6
BlamTagField_Vector::GetVector2
BlamVector2 GetVector2()
Definition: BlamTagField_Vector.cpp:77
BlamPluginField_Vector::GenerateXMLString
std::string GenerateXMLString() override
Generates a string representing this plugin field.
Definition: BlamPluginField_Vector.cpp:121
BlamPluginField_Vector::decimals
int decimals
Definition: vector.h:24
tags.h
BlamPluginField::GenerateXMLString
virtual std::string GenerateXMLString()
Generates a string representing this plugin field.
Definition: BlamPluginField.cpp:61
BlamTagField::GetTag
BlamTag * GetTag()
Retrieves the tag associated with this field.
Definition: BlamTagField.cpp:24
BlamPluginField::default_value
std::string default_value
The default text value for the field.
Definition: fields.h:113
BlamPluginField_Vector
Class representing a vector plugin field.
Definition: vector.h:20
BlamTagField::field_id
std::string field_id
The ID of this field.
Definition: fields.h:284
BlamTagField_Vector::value
BlamVector4 value
The value of the field, represented as a 4D vector.
Definition: vector.h:48
BlamPluginField::GetType
BlamTagFieldType GetType()
Retrieves the type of this field.
Definition: BlamPluginField.cpp:31
BlamPluginField_Vector::integer_mode
bool integer_mode
Definition: vector.h:23
BlamTagField::GenerateXMLString
virtual std::string GenerateXMLString()
Generates a string with the field ID and value, ready to be written to an XML file.
Definition: BlamTagField.cpp:9
Guerilla::Tags::Fields::GetFieldTypeName
GUERILLA_LIB_API std::string GetFieldTypeName(BlamTagFieldType type)
Generates a string name based on the provided tag field type.
Definition: fields.cpp:230
BlamPluginField::display_name
std::string display_name
The display name of the field.
Definition: fields.h:108
BlamPluginField
Class representing a plugin field.
Definition: fields.h:98
BlamTag
Class representing a Tag.
Definition: tags.h:319
BlamPluginField_Vector::GenerateTagField
BlamTagField * GenerateTagField(BlamTag *tag, void *address) override
Generates a new tag field from this plugin field.
Definition: BlamPluginField_Vector.cpp:54
BlamPluginField::Copy
virtual BlamPluginField * Copy(BlamPlugin *new_plugin)
Creates a copy of this plugin field.
Definition: BlamPluginField.cpp:229
BlamTagField_Vector::GenerateXMLString
std::string GenerateXMLString()
Generates a string with the field ID and value, ready to be written to an XML file.
Definition: BlamTagField_Vector.cpp:13
BlamPluginField::visible
bool visible
Whether or not the field is visible.
Definition: fields.h:107
BlamPluginField::ParseXMLData
virtual bool ParseXMLData(rapidxml::xml_node<> *field_node)
Populates data within the plugin field from an XML node.
Definition: BlamPluginField.cpp:106
BlamPlugin
Class representing a Plugin.
Definition: tags.h:93
BlamPluginField_Vector::GenerateCppStructString
std::string GenerateCppStructString(std::string line_prefix="", BlamPluginExportOptions options=BlamPluginExportOptions()) override
Generates a string containing C++ code representing this plugin field.
Definition: BlamPluginField_Vector.cpp:11
BlamPluginField::field_id
std::string field_id
The ID of the field.
Definition: fields.h:110
BlamTagField_Vector
Class representing a vector tag field.
Definition: vector.h:43
BlamPluginField_Vector::BlamPluginField_Vector
BlamPluginField_Vector(BlamPluginField *base_field)
Definition: BlamPluginField_Vector.cpp:6
vector.h
BlamTagField_Vector::GetVector3
BlamVector3 GetVector3()
Definition: BlamTagField_Vector.cpp:82
BlamTagField::plugin_field
BlamPluginField * plugin_field
The plugin data associated with this field, if any.
Definition: fields.h:283
BlamPluginField_Vector::GenerateCppClassString
std::string GenerateCppClassString(std::string line_prefix="") override
Generates a string containing C++ code representing this plugin field.
Definition: BlamPluginField_Vector.cpp:36
BlamPluginExportOptions
Data structure containing plugin export options.
Definition: fields.h:26
GUERILLA_LIB_API
#define GUERILLA_LIB_API
Definition: vector.h:11
BlamPluginField::description
std::string description
An optional description of the field.
Definition: fields.h:109
BlamPluginField_Vector::Copy
BlamPluginField * Copy(BlamPlugin *new_plugin) override
Creates a copy of this plugin field.
Definition: BlamPluginField_Vector.cpp:113
BlamPluginField::offset
int offset
The offset of the field data.
Definition: fields.h:105
BlamTagField_Vector::GetValueAsBytes
std::vector< char > GetValueAsBytes()
Retrieves the field value as a list of bytes.
Definition: BlamTagField_Vector.cpp:43
BlamPluginField::GenerateCppClassString
virtual std::string GenerateCppClassString(std::string line_prefix="")
Generates a string containing C++ code representing this plugin field.
Definition: BlamPluginField.cpp:101
BlamPluginField::length
int length
The length of the field data.
Definition: fields.h:106
BlamTagField::GetValueAsBytes
virtual std::vector< char > GetValueAsBytes()
Retrieves the field value as a list of bytes.
Definition: BlamTagField.cpp:14
BlamPluginField::GenerateCppStructString
virtual std::string GenerateCppStructString(std::string line_prefix="", BlamPluginExportOptions options=BlamPluginExportOptions())
Generates a string containing C++ code representing this plugin field.
Definition: BlamPluginField.cpp:96
BlamPluginField_Vector::ParseXMLData
bool ParseXMLData(rapidxml::xml_node<> *field_node) override
Populates data within the plugin field from an XML node.
Definition: BlamPluginField_Vector.cpp:142