-
-
Create an
class
.
function
class
(classname,
super
)
local superType
=
type
(
super
)
local
cls
if
superType ~
=
"function"
and
superType ~
=
"table"
then
superType
=
nil
super
=
nil
end
if
superType
=
=
"function"
or
(
super
and
super
.__ctype
=
=
1
) then
-
-
inherited
from
native C
+
+
Object
cls
=
{}
if
superType
=
=
"table"
then
-
-
copy fields
from
super
for
k,v
in
pairs(
super
) do
cls
[k]
=
v end
cls
.__create
=
super
.__create
cls
.
super
=
super
else
cls
.__create
=
super
end
cls
.ctor
=
function() end
cls
.__cname
=
classname
cls
.__ctype
=
1
function
cls
.new(...)
local instance
=
cls
.__create(...)
-
-
copy fields
from
class
to native
object
for
k,v
in
pairs(
cls
) do instance[k]
=
v end
instance.
class
=
cls
instance:ctor(...)
return
instance
end
else
-
-
inherited
from
Lua
Object
if
super
then
cls
=
clone(
super
)
cls
.
super
=
super
else
cls
=
{ctor
=
function() end}
end
cls
.__cname
=
classname
cls
.__ctype
=
2
-
-
lua
cls
.__index
=
cls
function
cls
.new(...)
local instance
=
setmetatable({},
cls
)
instance.
class
=
cls
instance:ctor(...)
return
instance
end
end
return
cls
class="line number59 index58 alt2">end
function schedule(node, callback, delay)
local delay
=
CCDelayTime:create(delay)
local callfunc
=
CCCallFunc:create(callback)
local sequence
=
CCSequence:createWithTwoActions(delay, callfunc)
local action
=
CCRepeatForever:create(sequence)
node:runAction(action)
return
action
class="line number68 index67 alt1">end
function performWithDelay(node, callback, delay)
local delay
=
CCDelayTime:create(delay)
local callfunc
=
CCCallFunc:create(callback)
local sequence
=
CCSequence:createWithTwoActions(delay, callfunc)
node:runAction(sequence)
return
sequence
class="line number76 index75 alt1">end