Пример #1
0
void LuaEventHandler::scrollViewDidZoom(CCScrollView *s){
	if(_handler){
		LuaStack->pushString("zoom");
		LuaStack->pushCCObject(s, "CCScrollView");
		runLuaFunction(_handler, 2, true);
	}
}
Пример #2
0
void LuaEventHandler::tableCellTouched(CCTableView *t, CCTableViewCell *c, CCTouch *touch){
	if(_handler){
		LuaStack->pushString("cellTouched");
		LuaStack->pushCCObject(t, "CCTableView");
		LuaStack->pushCCObject(c, "CCTableViewCell");
		LuaStack->pushCCObject(touch, "CCTouch");
		runLuaFunction(_handler, 4, true);
	}
}
Пример #3
0
unsigned int LuaEventHandler::numberOfCellsInTableView(CCTableView *t){
	int r = 0;
	if(_handler){
		LuaStack->pushString("numberOfCells");
		LuaStack->pushCCObject(t, "CCTableView");
		r = runLuaFunction(_handler, 2, true);
	}
	return r;
}
Пример #4
0
CCSize LuaEventHandler::cellSizeForTable(CCTableView *t){
	CCSize r = CCSizeZero;
	if(_handler){
		LuaStack->pushString("cellSize");
		LuaStack->pushCCObject(t, "CCTableView");
		runLuaFunction(_handler, 2);
		lua_State *l = luaStateForEngine();
		tolua_Error err;
		if(tolua_isusertype(l, -1, "CCSize", 0, &err)){
			CCSize *v = (CCSize *)tolua_tousertype(l, -1, NULL);
			if(v)r = *v;
		}
		finishRunLuaFunction(l);
	}
	return r;
}
Пример #5
0
CCTableViewCell * LuaEventHandler::tableCellAtIndex(CCTableView *t, unsigned int i){
	CCTableViewCell *cell = t->dequeueCell();
	if(_handler){
		int argNum = 3;
		LuaStack->pushString("cellAtIndex");
		LuaStack->pushCCObject(t, "CCTableView");
		LuaStack->pushInt(i);
		if(cell){
			LuaStack->pushCCObject(cell, "CCTableViewCell");
			argNum ++;
		}
		runLuaFunction(_handler, argNum);
		lua_State *l = luaStateForEngine();
		tolua_Error err;
		if(tolua_isusertype(l, -1, "CCTableViewCell", 0, &err)){
			cell = (CCTableViewCell *)tolua_tousertype(l, -1, NULL);
		}
		finishRunLuaFunction(l);
	}
	return cell;
}
Пример #6
0
	static int runFunctionHandler(int hnd, int argNum, bool retInt = false){
		int r = 0;
		if(retInt){	r = runLuaFunction(hnd, argNum, true);}
		else{		luaStack()->executeFunctionByHandler(hnd, argNum);}
		return r;
	}
Пример #7
0
int LuaEventHandler::runFunctionHandler(int hnd, int argNum, bool retInt){
	int r = 0;
	if(retInt){	r = runLuaFunction(hnd, argNum, true);}
	else{		LuaStack->executeFunctionByHandler(hnd, argNum);}
	return r;
}