In order to check if a custom variable exists or even to find out its type, use the ETHEntity::CheckCustomData
method. The methods ETHEntity::GetFloat
, ::GetUInt
, ::GetInt
, ::GetString
, ::GetVector2
and ::GetVector3
can be used to retrieve custom data from entities:
Checking data:
// Retrieves a handle to our character ETHEntity @mainCharacter = SeekEntity("my_character.ent"); // Checks if "class" exists DATA_TYPE dt = mainCharacter.CheckCustomData("class"); // if class doesn't exist if (dt == DT_NODATA) { print("No data here\n"); } else if (dt == DT_STRING) // if it exists and it is a string, print it { print(mainCharacter.GetString("class")); }
If the ETHEntity::Get*
methods try to retrieve an inexistent variable or if its type does not match the retrieving type, it will return 0
or an empty string.
If you are not sure if a certain variable exists or not, test it with ETHEntity::CheckCustomData
before retrieving its value.