From d0ff66c9abe9d6abbca12fd811e0c3cb69c1033a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=80=E8=90=8C=E5=B0=8F=E6=B1=90?= Date: Fri, 22 Nov 2019 23:26:32 +0800 Subject: =?UTF-8?q?=E6=95=B4=E7=90=86=E4=B8=80=E4=B8=8B=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- script/src/emmy/field.lua | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 script/src/emmy/field.lua (limited to 'script/src/emmy/field.lua') diff --git a/script/src/emmy/field.lua b/script/src/emmy/field.lua new file mode 100644 index 00000000..f9e9cbf6 --- /dev/null +++ b/script/src/emmy/field.lua @@ -0,0 +1,45 @@ +local listMgr = require 'vm.list' + +---@class EmmyField +local mt = {} +mt.__index = mt +mt.type = 'emmy.field' + +function mt:getName() + return self.name +end + +function mt:getSource() + return listMgr.get(self.source) +end + +function mt:bindType(type) + if type then + self._bindType = type + else + return self._bindType + end +end + +function mt:bindValue(value) + if value then + self._bindValue = value + else + if self._bindValue then + if not self._bindValue:getSource() then + self._bindValue = nil + end + end + return self._bindValue + end +end + +return function (manager, source) + local self = setmetatable({ + name = source[2][1], + source = source.id, + visible = source[1], + _manager = manager, + }, mt) + return self +end -- cgit v1.2.3