源战役客户端
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

75 rader
2.0 KiB

1 månad sedan
  1. SelectSkillItem = SelectSkillItem or BaseClass(BaseItem)
  2. local SelectSkillItem= SelectSkillItem
  3. function SelectSkillItem:__init(parent_wnd)
  4. self.base_file = "setting"
  5. self.layout_file = "SelectSkillItem"
  6. self.vo = nil
  7. self.model = AutoFightManager:getInstance()
  8. self:Load()
  9. end
  10. function SelectSkillItem:Load_callback()
  11. self.icon = self:GetChild("icon"):GetComponent("Image")
  12. self.nameText = self:GetChild("nameText"):GetComponent("TextMeshProUGUI")
  13. self.Toggle = self:GetChild("Toggle").gameObject
  14. self:InitEvent()
  15. if self.need_refresh then
  16. self:SetData(self.index,self.vo)
  17. self.need_refresh = false
  18. end
  19. end
  20. function SelectSkillItem:InitEvent()
  21. local function onBtnClickHandler2(target)
  22. if self.vo then
  23. self:SetStateCache(self.vo.skill_id)
  24. end
  25. end
  26. AddClickEvent(self.Toggle, onBtnClickHandler2)
  27. end
  28. function SelectSkillItem:SetData(index,vo)
  29. vo = vo or self.vo
  30. self.vo = vo
  31. self.index = index
  32. if self.vo == nil then return end
  33. if self.is_loaded then
  34. if self.vo.empty_data then
  35. self.icon.gameObject:SetActive(false)
  36. self.Toggle:SetActive(false)
  37. self.nameText.text = ""
  38. elseif self.vo.skill_id then
  39. self.icon.gameObject:SetActive(true)
  40. self.Toggle:SetActive(true)
  41. lua_resM:setOutsideImageSprite(self,self.icon,GameResPath.GetSkillIcon(self.vo.skill_id))
  42. self.nameText.text = self.vo.name
  43. local bool = self:SelectState(self.vo.skill_id)
  44. self.Toggle:GetComponent("Toggle").isOn = bool
  45. end
  46. else
  47. self.need_refresh = true
  48. end
  49. end
  50. function SelectSkillItem:SelectState(id)
  51. return self.model:FindSkillIsAuto(id)
  52. end
  53. --保存状态,以后需要保存到cookies里面去
  54. function SelectSkillItem:SetStateCache(id)
  55. local state = self.Toggle:GetComponent("Toggle").isOn
  56. self.model:SetAutoFightSkillList(id, state)
  57. end
  58. --还原默认状态,
  59. function SelectSkillItem:SetStateCacheDefault()
  60. if self.vo and self.vo.skill_id then
  61. self.model:SetAutoFightSkillList(self.vo.skill_id, true)
  62. end
  63. end
  64. function SelectSkillItem:__delete()
  65. end