r = AS_ENGINE->RegisterObjectType( "Unit", 0, asOBJ_REF );
assert( r>=0 );
/*r = AS_ENGINE->RegisterObjectProperty( "Unit", "string _name", offsetof(Unit,_name) );
assert( r>=0 );
r = AS_ENGINE->RegisterObjectProperty( "Unit", "int _life", offsetof(Unit,_life) );
assert( r>=0 );*/
r = AS_ENGINE->RegisterObjectBehaviour(
"Unit",
asBEHAVE_FACTORY,
"Unit@ Unit(const string &in)",
asFUNCTIONPR(Unit::asFactory,(const std::string&),Unit*),
asCALL_STDCALL );
assert( r>=0 );
r = AS_ENGINE->RegisterObjectBehaviour( "Unit", asBEHAVE_ADDREF, "void Unit()", asMETHOD(Unit,asAddRef), asCALL_THISCALL );
assert( r >= 0 );
r = AS_ENGINE->RegisterObjectBehaviour( "Unit", asBEHAVE_RELEASE, "void Unit()", asMETHOD(Unit,asRelease), asCALL_THISCALL );
assert( r >= 0 );
r = AS_ENGINE->RegisterObjectMethod( "Unit", "void setLife(int)", asMETHODPR(Unit,setLife,(int),void), asCALL_THISCALL );
assert( r>= 0 );
r = AS_ENGINE->RegisterObjectMethod( "Unit", "void print()", asMETHOD(Unit,print), asCALL_THISCALL );
assert( r>= 0 );