Advertisement

Comparing primitive types?

Started by December 07, 2012 09:05 PM
0 comments, last by WitchLord 11 years, 11 months ago
I am using a primitive type as follows:

engine->RegisterObjectType("myInt", sizeof(int), asOBJ_VALUE | asOBJ_POD | asOBJ_APP_PRIMITIVE ); assert( err >= 0 );

The Application can modify and use operators on this value, however the script cannot. Something as simple as the following will fail.

myInt test;
test = 0;

I receive the error "Can't implicitly convert from 'const uint' to 'myInt'." Since this is a primitive datatype I was under the assumption that I did not need to do anything specific to use these. What am I doing wrong?
asOBJ_APP_PRIMITIVE just tells AngelScript that it can treat the type as a primitive in native calling conventions, i.e. when passing the type to application registered functions.

In order to support assignment or comparisons with this type against other types you need to register the appropriate methods, for example, opAssign, and opCmp.

Regards,
Andreas

AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - Tower - free puzzle game

This topic is closed to new replies.

Advertisement