dennis.chen Posted January 15, 2013 Posted January 15, 2013 Hi all class A { public: A(); virtual ~A(); void setVariable(int index,const Unigine::Variable &va); inline const Unigine::Variable &getVariable(index){return variables.at(index);} private: std::vector<Unigine::Variable> variables; } ExternClass<A>* a = MakeExternClass<A>(); a->addConstructor(); a->addFunction( "setVariable",(void (A::*)(int const Unigine::Variable&))&A::setVariable); a->addFunction( "getVariable", &A::getVariable); Interpreter::addExternClass( "A", a ); how can i use Unigine::variable in script just like switch(A.getVariable(i).getType()) { case INT: funcint(); break; case VEC3; funcvt(); ..... ..... }
frustum Posted January 15, 2013 Posted January 15, 2013 switch(typeid(variable)) { case typeid(int): printf("int\n"); break; case typeid(vec3): printf("vec3\n"); break; case typeid(string): printf("string\n"); break; case typeid(user_class): printf("user class\n"); break; case typeid(extern_class): printf("extern class\n"); break; }
Recommended Posts