Je viens de découvrir chaiscript et je l'aime beaucoup. Maintenant, je veux ajouter un support pour mon moteur 3D opengl très simple.Comment puis-je vérifier si une fonction est définie dans le chaiscript et comment puis-je l'exécuter avec des arguments typés?
Je mathématiques classes C de: vec2T, vec3T, vec4T, mat2T, mat3T, mat4T, ... (ce sont des classes réellement modèles et il y a des typedefs qui les rendent vec4i, vec4f, vec4d, ...)
Je pense que je peux les ajouter à chaiscript avec:
chai.add(chaiscript::user_type<vec4i>(), "vec4i");
droit?
Maintenant, je veux tester si mon script contient une fonction appelée "onFrame". Si c'est le cas, je veux qu'il soit appelé avec un paramètre vec4i comme premier argument. Comment est-ce que je fais ceci?
Je comprends que je peux faire quelque chose comme ceci:
try
{
chai("onFrame();");
}
catch (const std::exception &)
{
}
Si onFrame n'est pas défini dans le script, l'exception sera ignorée cette façon. Je peux même passer des paramètres entiers ou des chaînes de cette façon. Mais comment passer un paramètre vec4 (x, y, z, w)?
Toute aide est appréciée!
Merci. Je n'avais pas remarqué qu'il y avait une feuille de triche. Y a-t-il un lien sur le site? – scippie
@scippie vient de l'ajouter à la page principale. – lefticus