You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
1.3 KiB

--[[
Script.lua
@Author : DengSir (tdaddon@163.com)
@Link : https://dengsir.github.io
]]
local ns = select(2, ...)
local Addon = ns.Addon
local Director = ns.Director
local Script = Addon:NewClass('Script')
function Script:Constructor(db, plugin, key)
self.db = db
self.key = key
self.plugin = plugin
end
function Script:GetDB()
return self.db
end
function Script:GetName()
return self.db.name
end
function Script:SetName(name)
self.db.name = name
Addon:SendMessage('PET_BATTLE_SCRIPT_SCRIPT_UPDATE')
Addon:SendMessage('PET_BATTLE_SCRIPT_SCRIPT_LIST_UPDATE')
end
function Script:GetCode()
return self.db.code
end
function Script:SetCode(code)
local script, err = Director:BuildScript(code)
if not script then
return false, err
end
self.db.code = code
self.script = script
Addon:SendMessage('PET_BATTLE_SCRIPT_SCRIPT_UPDATE')
Addon:SendMessage('PET_BATTLE_SCRIPT_SCRIPT_LIST_UPDATE')
return true
end
function Script:GetKey()
return self.key
end
function Script:GetPlugin()
return self.plugin
end
function Script:GetScript()
if not self.script then
self.script = Director:BuildScript(self.db.code)
end
return self.script
end