[1.0.1] Accessing Members - ntoxin66/Dynamic GitHub Wiki

Each Dynamic instance is a collection of members. Each member has a name, type and value. As members are typed, full type conversion is supported between the core types (Bool, Float, Int, String).

Lets start off by creating a dynamic instance.

Dynamic dynamic = Dynamic();

Dynamic's methodmap API has some base methods for accessing member data. Lets create members for each supported member type. We will name each member by their corresponding type.

dynamic.SetBool("Bool", false);
dynamic.SetDynamic("Dynamic", INVALID_DYNAMIC_OBJECT);
dynamic.SetFloat("Float", 0.0);
dynamic.SetHandle("Handle", null);
dynamic.SetInt("Int", 0);
dynamic.SetString("String", "");
dynamic.SetVector("Vector", NULL_VECTOR);

Now lets get all the members we just set.

bvalue = dynamic.GetBool("Bool");
dvalue = dynamic.GetDynamic("Dynamic");
fvalue = dynamic.GetFloat("Float");
hvalue = dynamic.GetHandle("Handle");
ivalue = dynamic.GetInt("Int");
dynamic.GetString("String", svalue, sizeof(svalue));
dynamic.GetVector("Vector", vvalue);

Some types support default values in the getters for the second paramater.

bvalue = dynamic.GetBool("Bool", bvalue);
fvalue = dynamic.GetFloat("Float", fvalue);
ivalue = dynamic.GetInt("Int", ivalue);

The Full Example

Next: Type Conversion