1
+ ## == == = member implementation template
2
+ int $ {signature_name }_get$ {name }(lua_State * tolua_S )
3
+ {
4
+ $ {namespaced_class_name }* cobj = nullptr ;
5
+ \#if COCOS2D_DEBUG >= 1
6
+ tolua_Error tolua_err ;
7
+ if (!tolua_isusertype (tolua_S ,1 ,"${generator.scriptname_from_native($namespaced_class_name, $namespace_name)}" ,0 ,& tolua_err )) goto tolua_lerror ;
8
+ \#endif
9
+
10
+ cobj = ($ {namespaced_class_name }* )tolua_tousertype (tolua_S ,1 ,0 );
11
+
12
+ \#if COCOS2D_DEBUG >= 1
13
+ if (!cobj )
14
+ {
15
+ tolua_error (tolua_S ,"invalid 'cobj' in function '${signature_name}_get${name}'" , nullptr );
16
+ return 0 ;
17
+ }
18
+ \#endif
19
+
20
+ #if $ntype .is_object and not $ntype .object_can_convert ($generator , False )
21
+ $ {ntype .from_native ({"generator" : $generator ,
22
+ "type_name" : $ntype .namespaced_name .replace ("*" , "" ),
23
+ "ntype" : $ntype .get_whole_name ($generator )+ "*" ,
24
+ "level" : 2 ,
25
+ "scriptname" : $generator .scriptname_from_native ($ntype .namespaced_name , $ntype .namespace_name ),
26
+ "in_value" :"&cobj->" + $pretty_name ,
27
+ })};
28
+ #else
29
+ $ {ntype .from_native ({"generator" : $generator ,
30
+ "type_name" : $ntype .namespaced_name .replace ("*" , "" ),
31
+ "ntype" : $ntype .get_whole_name ($generator ),
32
+ "level" : 2 ,
33
+ "scriptname" : $generator .scriptname_from_native ($ntype .namespaced_name , $ntype .namespace_name ),
34
+ "in_value" :"cobj->" + $pretty_name ,
35
+ })};
36
+ #end if
37
+
38
+ return 1 ;
39
+ \#if COCOS2D_DEBUG >= 1
40
+ tolua_lerror :
41
+ tolua_error (tolua_S ,"#ferror in function '${signature_name}_get${name}'." ,& tolua_err );
42
+ return 0 ;
43
+ \#endif
44
+ }
45
+
46
+ int $ {signature_name }_set$ {name }(lua_State * tolua_S )
47
+ {
48
+ int argc = 0 ;
49
+ $ {namespaced_class_name }* cobj = nullptr ;
50
+ bool ok = true;
51
+
52
+ \#if COCOS2D_DEBUG >= 1
53
+ tolua_Error tolua_err ;
54
+ if (!tolua_isusertype (tolua_S ,1 ,"${generator.scriptname_from_native($namespaced_class_name, $namespace_name)}" ,0 ,& tolua_err )) goto tolua_lerror ;
55
+ \#endif
56
+
57
+ cobj = ($ {namespaced_class_name }* )tolua_tousertype (tolua_S ,1 ,0 );
58
+
59
+ \#if COCOS2D_DEBUG >= 1
60
+ if (!cobj )
61
+ {
62
+ tolua_error (tolua_S ,"invalid 'cobj' in function '${signature_name}_set${name}'" , nullptr );
63
+ return 0 ;
64
+ }
65
+ \#endif
66
+ argc = lua_gettop (tolua_S ) - 1 ;
67
+
68
+ if (1 == argc )
69
+ {
70
+ #if $ntype .is_object and not $ntype .object_can_convert ($generator )
71
+ $ {ntype .to_string ($generator )}* arg0 = nullptr ;
72
+ #else
73
+ $ {ntype .to_string ($generator )} arg0 ;
74
+ #end if
75
+ $ {ntype .to_native ({"generator" : $generator ,
76
+ "arg_idx" : 2 ,
77
+ "out_value" : "arg0" ,
78
+ "lua_namespaced_class_name" : $generator .scriptname_from_native ($namespaced_class_name , $namespace_name ),
79
+ "func_name" : $name ,
80
+ "scriptname" : $generator .scriptname_from_native ($ntype .namespaced_name , $ntype .namespace_name ),
81
+ "level" : 2 ,
82
+ "arg" :$ntype ,
83
+ })};
84
+ #if $ntype .is_object and not $ntype .object_can_convert ($generator )
85
+ cobj -> $pretty_name = * arg0 ;
86
+ #else
87
+ cobj -> $pretty_name = arg0 ;
88
+ #end if
89
+ return 0 ;
90
+ }
91
+
92
+ CCLOG ("%s has wrong number of arguments: %d, was expecting %d \n" , "${generator.scriptname_from_native($namespaced_class_name, $namespace_name)}:${name}" ,argc , 1 );
93
+ return 0 ;
94
+
95
+ \#if COCOS2D_DEBUG >= 1
96
+ tolua_lerror :
97
+ tolua_error (tolua_S ,"#ferror in function '${signature_name}_get${name}'." ,& tolua_err );
98
+ return 0 ;
99
+ \#endif
100
+ }
0 commit comments