Lua的TableViewItem
来源:互联网 发布:徐州网络跳骚市场 编辑:程序博客网 时间:2024/06/14 10:54
1.看TableViewItem.cs脚本,写了SetIndex,Updata,OnDestroy,所以子类Lua要实现此方法
2.ComeHerItem.lua中,定义类名表,itemTable={},尽量使用GetInstanceID()
ComeHerItem = { }local this = ComeHerItem;-- 保存所有节点内同{instanceId={numberTxt=编号,idTxt=徒弟id,nameTxt=徒弟名,getAwardButton=领取状态}....}this.itemTable = { } function ComeHerItem.Awake(gameObject) local instanceId = gameObject:GetInstanceID(); if (this.itemTable[instanceId] == nil) then local numberTxt = gameObject.transform:Find("NumberTxt"):GetComponent("Text"); local idTxt = gameObject.transform:Find("IDTxt"):GetComponent("Text"); local nameTxt = gameObject.transform:Find("NameTxt"):GetComponent("Text"); local getAWardButton = gameObject.transform:Find("GetAWardButton"):GetComponent("Button"); getAWardButton.onClick:AddListener(LuaHelper.LuaFunToUnityAction(bindParam(this.RecourdButtonEvent, getAWardButton))) this.itemTable[instanceId] = { numberTxt = numberTxt, idTxt = idTxt, nameTxt = nameTxt, getAWardButton = getAWardButton } endend function ComeHerItem.SetIndex(gameObject, index) local instanceId = gameObject:GetInstanceID(); this.itemTable[instanceId].index = indexendfunction ComeHerItem.Updata(gameObject, data) if (data == nil) then return end local instanceId = gameObject:GetInstanceID(); this.itemTable[instanceId].data = data this.itemTable[instanceId].numberTxt.text = tostring(data.index) this.itemTable[instanceId].idTxt.text = tostring(data.idTxt) this.itemTable[instanceId].nameTxt.text = data.nameText if (data.isGetState == 0) then this.itemTable[instanceId].getAWardButton.interactable = true; else this.itemTable[instanceId].getAWardButton.interactable = false; endendfunction ComeHerItem.RecourdButtonEvent(btnGameObject) local btnInstanceId = btnGameObject:GetInstanceID(); local itemData = nil--通过遍历去得到.记得break for instance, item in pairs(this.itemTable) do if (item.getAWardButton:GetInstanceID() == btnInstanceId) then itemData = item.data Debugger.Log("--1-pack=" .. itemData.userId .. "-bei=" .. itemData.idTxt) break end end local package = Msg_pb.GetRewardC2S() package.tuijianid = itemData.userId package.beituijianid = itemData.idTxt; NetUtil.SendBuff(SocketType.HALL,MsgNoC2S.C2S_HALL_GETREWARD,0,package) endfunction ComeHerItem.OnDestroy(gameObject) local instanceId = gameObject:GetInstanceID(); this.itemTable[instanceId] = nilend
阅读全文
0 0
- Lua的TableViewItem
- 【Lua】lua的基本语法
- Lua.2 lua的表达式
- lua脚本之lua语言简介以及lua的安装
- Lua的红皮书《Beginning Lua Programming》下载
- Lua学习---lua源代码的分析顺序
- Lua协同(lua下多线程的编写)
- [Lua源码阅读] 理解Lua的object
- 【Lua系列】linux下lua的安装
- lua学习:lua程序设计的一些笔记
- lua 用闭包写的按钮程序(lua)
- lua学习:lua中“类”的实现
- 【走进Lua的世界之一】初识Lua
- 【Lua】浅析Lua中table的遍历
- 【Lua】浅析Lua中table的遍历
- cocos2dx + lua 中实现 lua的MVC
- lua学习:lua中“类”的实现
- [Lua]Lua的面向对象程序设计
- 数据结构算法
- C语言的结构
- 2.2Map任务
- 【笔记】冒泡排序 怕自己忘记QAQ
- ElasticSearch多字段查询best_fields&most_fields
- Lua的TableViewItem
- php的__FILE__常量和dirname()
- SOA,Web Service,SOAP,REST,RPC,RMI,JMS的区别与联系
- 所用的日常 Git 命令!
- (作业)ActionSheet、Alert
- 康托展开
- 82. Remove Duplicates from Sorted List II
- Qt之QSS(样式表语法)
- AVL树(一)之 图文解析 和 C语言的实现