[1.0.7] Iterating Members - ntoxin66/Dynamic GitHub Wiki

stock void SerialiseDynamic(Dynamic dynamic)
{
	PrintToServer("GETTING ALL DYNAMIC OBJECT MEMBERS");
	PrintToServer(" > dynamic.MemberCount=%d", dynamic.MemberCount);
	
	int count = dynamic.MemberCount;
	DynamicOffset memberoffset;
	char membername[DYNAMIC_MEMBERNAME_MAXLEN];
	int someint; bool somebool; float somefloat; char somestring[1024]; Dynamic anotherobj; Handle somehandle; float somevec[3];
	
	for (int i = 0; i < count; i++)
	{
		memberoffset = dynamic.GetMemberOffsetByIndex(i);
		dynamic.GetMemberNameByIndex(i, membername, sizeof(membername));
		
		switch (dynamic.GetMemberType(memberoffset))
		{
			case DynamicType_Int:
			{
				someint = dynamic.GetIntByOffset(memberoffset);
				PrintToServer("[%d] <int>dynamic.%s = %d", memberoffset, membername, someint);
			}
			case DynamicType_Bool:
			{
				somebool = dynamic.GetBoolByOffset(memberoffset);
				PrintToServer("[%d] <bool>dynamic.%s = %d", memberoffset, membername, somebool);
			}
			case DynamicType_Float:
			{
				somefloat = dynamic.GetFloatByOffset(memberoffset);
				PrintToServer("[%d] <float>dynamic.%s = %f", memberoffset, membername, somefloat);
			}
			case DynamicType_String:
			{
				dynamic.GetStringByOffset(memberoffset, somestring, sizeof(somestring));
				PrintToServer("[%d] <string>dynamic.%s = '%s'", memberoffset, membername, somestring);
			}
			case DynamicType_Object:
			{
				anotherobj = dynamic.GetDynamicByOffset(memberoffset);
				someint = anotherobj.GetInt("someint");
				PrintToServer("[%d] <dynamic>.<int>dynamic.%s.someint = %d", memberoffset, membername, someint);
			}
			case DynamicType_Handle:
			{
				somehandle = dynamic.GetHandleByOffset(memberoffset);
				PrintToServer("[%d] <Handle>.dynamic.%s = %d", memberoffset, membername, somehandle);
			}
			case DynamicType_Vector:
			{
				dynamic.GetVectorByOffset(memberoffset, somevec);
				PrintToServer("[%d] <Vector>.dynamic.%s = {%f, %f, %f}", memberoffset, membername, somevec[0], somevec[1], somevec[2]);
			}
		}
	}
}
⚠️ **GitHub.com Fallback** ⚠️