Elaztek Developer Hub
Blamite Game Engine - Guerilla (Library)  00421.06.29.24.2305.blamite
The tag editor for the Blamite Game Engine.
BlamPluginField_Vector Class Reference

Class representing a vector plugin field. More...

#include <vector.h>

+ Inheritance diagram for BlamPluginField_Vector:
+ Collaboration diagram for BlamPluginField_Vector:

Public Member Functions

 BlamPluginField_Vector (BlamPluginField *base_field)
 
std::string GenerateCppStructString (std::string line_prefix="", bool generate_doxygen_comments=true) override
 Generates a string containing C++ code representing this plugin field. More...
 
std::string GenerateCppClassString (std::string line_prefix="") override
 Generates a string containing C++ code representing this plugin field. More...
 
BlamTagFieldGenerateTagField (BlamTag *tag, void *address) override
 Generates a new tag field from this plugin field. More...
 
BlamTagFieldGenerateTagField (BlamTag *tag) override
 Generates a new tag field from this plugin field. More...
 
BlamPluginFieldCopy (BlamPlugin *new_plugin) override
 Creates a copy of this plugin field. More...
 
- Public Member Functions inherited from BlamPluginField
 BlamPluginField (BlamPlugin *_plugin, BlamTagFieldType _type)
 Constructs a new plugin field. More...
 
 BlamPluginField (BlamPluginField *_old_field)
 Constructs a new plugin field. More...
 
BlamTagFieldType GetType ()
 Retrieves the type of this field. More...
 
BlamPluginGetPlugin ()
 Retrieves the plugin this field is associated with. More...
 
virtual BlamTagFieldGenerateTagField (BlamTagField *existing_tag_field)
 Generates a new tag field from this plugin field. More...
 
virtual std::string GenerateXMLString ()
 Generates a string representing this plugin field. More...
 
virtual void UpdateOffsetData (int new_offset)
 Updates any offsets or lengths for the given field. More...
 
virtual bool ParseXMLData (rapidxml::xml_node<> *field_node)
 Populates data within the plugin field from an XML node. More...
 
void ChangeType (BlamTagFieldType new_type)
 Changes the type of a plugin field. More...
 

Additional Inherited Members

- Public Attributes inherited from BlamPluginField
int offset = 0x0
 The offset of the field data. More...
 
int length = 0x0
 The length of the field data. More...
 
bool visible = true
 Whether or not the field is visible. More...
 
std::string display_name = ""
 The display name of the field. More...
 
std::string description = ""
 An optional description of the field. More...
 
std::string field_id = ""
 The ID of the field. More...
 
std::string input_hint = ""
 An additional piece of short text that can be used to suggest valid input for a field. More...
 
bool require_unused_visible = false
 If enabled, this field will only be visible when "Show Unused Fields" is enabled. More...
 
std::string default_value = ""
 The default text value for the field. More...
 

Detailed Description

Class representing a vector plugin field.

Vector fields store a collection of 2, 3, or 4 floating-point values. These are often used in 2D or 3D coordinates, but can serve other purposes as well.

Constructor & Destructor Documentation

◆ BlamPluginField_Vector()

BlamPluginField_Vector::BlamPluginField_Vector ( BlamPluginField base_field)
+ Here is the caller graph for this function:

Member Function Documentation

◆ Copy()

BlamPluginField * BlamPluginField_Vector::Copy ( BlamPlugin new_plugin)
overridevirtual

Creates a copy of this plugin field.

This method will create a duplicate of this plugin field, as well as any child field data. Note that the copied field memory must be managed and freed by the calling code.

Parameters
new_plugin- The new plugin to associate with the copied field. If set to nullptr, then the plugin from the original field is used.
Returns
Pointer to the copied field data.

Reimplemented from BlamPluginField.

+ Here is the call graph for this function:

◆ GenerateCppClassString()

std::string BlamPluginField_Vector::GenerateCppClassString ( std::string  line_prefix = "")
overridevirtual

Generates a string containing C++ code representing this plugin field.

This method will generate a string containing C++ code that is intended for use within the BlamTagClass class. This class is used by the game engine to store a tag class layout, allowing for in-engine tools to present a tag data editing UI among other things.

Parameters
line_prefix- A string that should be placed before each line, such as a certain amount of indentation spaces.
Returns
A string containing C++ code representing the field and its data.

Reimplemented from BlamPluginField.

+ Here is the call graph for this function:

◆ GenerateCppStructString()

std::string BlamPluginField_Vector::GenerateCppStructString ( std::string  line_prefix = "",
bool  generate_doxygen_comments = true 
)
overridevirtual

Generates a string containing C++ code representing this plugin field.

This method will generate a string containing C++ code that is intended for use within the tag class data structure. This is intended to be used when exporting a tag class to C++ code.

Parameters
line_prefix- A string that should be placed before each line, such as a certain amount of indentation spaces.
Returns
A string containing C++ code representing the field and its data.

Reimplemented from BlamPluginField.

+ Here is the call graph for this function:

◆ GenerateTagField() [1/2]

BlamTagField * BlamPluginField_Vector::GenerateTagField ( BlamTag tag)
overridevirtual

Generates a new tag field from this plugin field.

With this overload, a brand new tag field is created with no value.

Parameters
tag- The tag the new field should belong to.
Returns
Pointer to the new tag field.

Reimplemented from BlamPluginField.

+ Here is the call graph for this function:

◆ GenerateTagField() [2/2]

BlamTagField * BlamPluginField_Vector::GenerateTagField ( BlamTag tag,
void *  address 
)
overridevirtual

Generates a new tag field from this plugin field.

With this overload, a new field is created and its value(s) are read from the tag data. This should only be used when reading binary (compiled) tag files.

Parameters
tag- The tag the new field should belong to.
address- The address of the field value.
Returns
Pointer to the new tag field.

Reimplemented from BlamPluginField.

+ Here is the call graph for this function:

The documentation for this class was generated from the following files: