Classes

The beginClass/endClass functions can be used to expose classes to Lua. The class type must be provided as a template argument to the beginClass function. You can call beingClass/endClass multiple times for the same class, and on each call, new methods and variables can be added. Suppose that a class named Vec3 exists, to represent a 3D vector. It can be exposed to Lua using Lua Bridge, as follows:

class Vec3 { };

getGlobalNamespace(L)
.beginNamespace("Math")
.beginClass<Vec3>("Vec3")
.endClass()
.endNamespace()

To create a new object, just call the name of the class as a function. For example, the preceding code can create a new Vec3 with the following code:

local vector = Math.Vec3()
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
52.14.82.217