SelectSkillItem = SelectSkillItem or BaseClass(BaseItem)
|
|
local SelectSkillItem= SelectSkillItem
|
|
function SelectSkillItem:__init(parent_wnd)
|
|
self.base_file = "setting"
|
|
self.layout_file = "SelectSkillItem"
|
|
self.vo = nil
|
|
self.model = AutoFightManager:getInstance()
|
|
self:Load()
|
|
end
|
|
|
|
function SelectSkillItem:Load_callback()
|
|
self.icon = self:GetChild("icon"):GetComponent("Image")
|
|
self.nameText = self:GetChild("nameText"):GetComponent("TextMeshProUGUI")
|
|
self.Toggle = self:GetChild("Toggle").gameObject
|
|
|
|
self:InitEvent()
|
|
if self.need_refresh then
|
|
self:SetData(self.index,self.vo)
|
|
self.need_refresh = false
|
|
end
|
|
end
|
|
|
|
function SelectSkillItem:InitEvent()
|
|
local function onBtnClickHandler2(target)
|
|
if self.vo then
|
|
self:SetStateCache(self.vo.skill_id)
|
|
end
|
|
end
|
|
AddClickEvent(self.Toggle, onBtnClickHandler2)
|
|
end
|
|
|
|
function SelectSkillItem:SetData(index,vo)
|
|
vo = vo or self.vo
|
|
self.vo = vo
|
|
self.index = index
|
|
if self.vo == nil then return end
|
|
if self.is_loaded then
|
|
if self.vo.empty_data then
|
|
self.icon.gameObject:SetActive(false)
|
|
self.Toggle:SetActive(false)
|
|
self.nameText.text = ""
|
|
elseif self.vo.skill_id then
|
|
self.icon.gameObject:SetActive(true)
|
|
self.Toggle:SetActive(true)
|
|
|
|
lua_resM:setOutsideImageSprite(self,self.icon,GameResPath.GetSkillIcon(self.vo.skill_id))
|
|
self.nameText.text = self.vo.name
|
|
local bool = self:SelectState(self.vo.skill_id)
|
|
self.Toggle:GetComponent("Toggle").isOn = bool
|
|
end
|
|
else
|
|
self.need_refresh = true
|
|
end
|
|
end
|
|
|
|
|
|
function SelectSkillItem:SelectState(id)
|
|
return self.model:FindSkillIsAuto(id)
|
|
end
|
|
|
|
--保存状态,以后需要保存到cookies里面去
|
|
function SelectSkillItem:SetStateCache(id)
|
|
local state = self.Toggle:GetComponent("Toggle").isOn
|
|
self.model:SetAutoFightSkillList(id, state)
|
|
end
|
|
|
|
--还原默认状态,
|
|
function SelectSkillItem:SetStateCacheDefault()
|
|
if self.vo and self.vo.skill_id then
|
|
self.model:SetAutoFightSkillList(self.vo.skill_id, true)
|
|
end
|
|
end
|
|
|
|
function SelectSkillItem:__delete()
|
|
|
|
end
|