engine->RegisterGlobalProperty("const TestObject g_object", &g_object);
engine->RegisterGlobalProperty("const float g_float", &g_float);
TestObject myObject;
float myFloat;
void Init()
{
g_object = myObject;
g_float = myFloat;
}
Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!
engine->RegisterGlobalProperty("const TestObject g_object", &g_object);
engine->RegisterGlobalProperty("const float g_float", &g_float);
TestObject myObject;
float myFloat;
void Init()
{
g_object = myObject;
g_float = myFloat;
}
//// Tests constant properties to see if they can be overwritten//// Test author: Andreas Jonsson//#include "angelscript.h"#include <stdio.h>#include <stddef.h>#include <string.h>#define TESTNAME "TestConstProperty"class COutStream : public asIOutputStream{public: void AS_CALL Write(const char *text) { printf(text); }};static const char *script ="Obj myObj; \n""float myFloat; \n"" \n""void Init() \n""{ \n"" g_Obj = myObj; \n"" g_Float = myFloat; \n""} \n";bool TestConstProperty(){ bool fail = false; asIScriptEngine *engine = asCreateScriptEngine(ANGELSCRIPT_VERSION); engine->RegisterObjectType("Obj", sizeof(int), asOBJ_PRIMITIVE); engine->RegisterObjectProperty("Obj", "int val", 0); int constantProperty = 0; engine->RegisterGlobalProperty("const Obj g_Obj", &constantProperty); float constantFloat = 0; engine->RegisterGlobalProperty("const float g_Float", &constantFloat); COutStream out; engine->AddScriptSection(0, TESTNAME, script, strlen(script)); engine->Build(0, &out); engine->Release(); // Success return fail;}
TestConstProperty (6, 9) : Error : Reference is read-onlyTestConstProperty (7, 11) : Error : Reference is read-only