Files
sbox-public/engine/Definitions/tools/GameData/Class.def
s&box team 71f266059a Open source release
This commit imports the C# engine code and game files, excluding C++ source code.

[Source-Commit: ceb3d758046e50faa6258bc3b658a30c97743268]
2025-11-24 09:05:18 +00:00

80 lines
1.5 KiB
Modula-2

#include "fgdlib/gdclass.h"
native class CGameDataClass as Native.CGameDataClass
{
void DeleteThis(); [delete]
static CGameDataClass Create(); [new]
void Reset();
//
// Info
//
string GetName();
string GetDescription();
string GetHelpContextName();
inline void SetName( string name )
{
self->m_Name = name;
}
inline void SetDescription( string description )
{
self->m_Description = description;
}
// void SetHelpContextName( string help );
GDClassType_t GetClassType();
void SetClassType( GDClassType_t nClassType );
//
// Variables (keys)
//
int GetVariableCount();
CGameDataVariable GetVariableAt( int index );
void AddVariable( CGameDataVariable pVar );
//
// Inputs / Outputs
//
void AddInput( CClassInput input );
int GetInputCount();
CClassInput GetInput( int index );
void AddOutput( CClassOutput output );
int GetOutputCount();
CClassOutput GetOutput( int index );
//
// Tags
//
void AddTag( string tag );
bool HasTag( string tag );
int GetTagCount();
string GetTag( int index );
//
// Helpers
//
void AddHelper( CHelperInfo info );
int GetHelperCount();
CHelperInfo GetHelper( int index );
//
// Metadata
//
inline void MergeKV3Metadata( KeyValues3 val )
{
self->m_MetaData.MergeFrom( val, KV3_MERGE_SUBTABLES_SKIP, KV3_MERGE_ARRAY_SKIP );
}
}