Elaztek Developer Hub
Blamite Game Engine - Guerilla (Library)  00390.07.02.23.1947.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 #ifdef GUERILLA_LIB_EXPORTS
7 #define GUERILLA_LIB_API __declspec(dllexport)
8 #else
9 #define GUERILLA_LIB_API __declspec(dllimport)
10 #endif
11 
19 {
20 public:
22 
23  std::string GenerateCppStructString(std::string line_prefix = "", bool generate_doxygen_comments = true) override;
24  std::string GenerateCppClassString(std::string line_prefix = "") override;
25  BlamTagField* GenerateTagField(BlamTag* tag, void* address) override;
26  BlamTagField* GenerateTagField(BlamTag* tag) override;
27 };
28 
36 {
37 private:
38 
39 public:
40  BlamVector4 value = { 0.0f, 0.0f, 0.0f, 0.0f };
41 
49 
50  std::string GenerateXMLString();
51  std::vector<char> GetValueAsBytes();
52 
53  BlamVector2 GetVector2();
54  BlamVector3 GetVector3();
55 };
BlamTagField
Class representing a tag field.
Definition: fields.h:261
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
BlamTagField_Vector::GetVector2
BlamVector2 GetVector2()
Definition: BlamTagField_Vector.cpp:77
BlamTagFieldType::Vector4
@ Vector4
Indicates that the field is a vector4.
tags.h
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:116
BlamPluginField_Vector
Class representing a vector plugin field.
Definition: vector.h:18
BlamTagField::field_id
std::string field_id
The ID of this field.
Definition: fields.h:272
BlamTagField_Vector::value
BlamVector4 value
The value of the field, represented as a 4D vector.
Definition: vector.h:40
BlamPluginField::GetType
BlamTagFieldType GetType()
Retrieves the type of this field.
Definition: BlamPluginField.cpp:31
BlamTagFieldType
BlamTagFieldType
Enumerator containing all possible tag field types.
Definition: fields.h:65
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
BlamPluginField::display_name
std::string display_name
The display name of the field.
Definition: fields.h:111
BlamPluginField
Class representing a plugin field.
Definition: fields.h:101
BlamTag
Class representing a Tag.
Definition: tags.h:277
BlamPluginField_Vector::GenerateCppStructString
std::string GenerateCppStructString(std::string line_prefix="", bool generate_doxygen_comments=true) override
Generates a string containing C++ code representing this plugin field.
Definition: BlamPluginField_Vector.cpp:11
BlamPluginField_Vector::GenerateTagField
BlamTagField * GenerateTagField(BlamTag *tag, void *address) override
Generates a new tag field from this plugin field.
Definition: BlamPluginField_Vector.cpp:54
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
BlamTagFieldType::Vector3
@ Vector3
Indicates that the field is a vector3.
BlamPluginField::field_id
std::string field_id
The ID of the field.
Definition: fields.h:113
BlamTagField_Vector
Class representing a vector tag field.
Definition: vector.h:35
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:271
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
GUERILLA_LIB_API
#define GUERILLA_LIB_API
Definition: vector.h:9
BlamPluginField::description
std::string description
An optional description of the field.
Definition: fields.h:112
BlamTagFieldType::Vector2
@ Vector2
Indicates that the field is a vector2.
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:109
BlamPluginField::GenerateCppStructString
virtual std::string GenerateCppStructString(std::string line_prefix="", bool generate_doxygen_comments=true)
Generates a string containing C++ code representing this plugin field.
Definition: BlamPluginField.cpp:96
BlamTagField::GetValueAsBytes
virtual std::vector< char > GetValueAsBytes()
Retrieves the field value as a list of bytes.
Definition: BlamTagField.cpp:14