call lua overrided function from c++
yop,
je bosse sur un système de script lua pour étendre les possibilités d'une appli.
Donc j'ai wrappé une classe c++ en lua (a l'aide de table, métatable et userdata) pour pouvoir créer et utiliser un objet de ce type. Ca marche. Mais l'idée, c'est de pouvoir faire ca :
Code:
1 2 3 4 5 6
|
frame1 = Frame.new("nom")
function frame1:Draw()
-- code de dessin
end |
ensuite en c++ j'appelle frame1 : Draw lorsque j'ai besoin de dessiner la fenetre.
Faudrait stocker la table lua quand je crée l'objet, ensuite quand j'appelle Draw en c++, ca appelle la fonction Draw de la table, si elle est overrided ca l'appelle, sinon ca revient a la méthode de base. Mais impossible de trouver comment stocker un pointeur de table lua en c++.
Quelqu'un a une idée?
(dsl si c'est pas la bonne partie du fofo mais je savais pas trop ou poster)