源战役客户端
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

63 linhas
1.5 KiB

4 semanas atrás
  1. --基础组件类
  2. BaseComponent = BaseComponent or BaseClass(EventDispatcher)
  3. local BaseComponent = BaseComponent
  4. function BaseComponent:__init(parent_transform)
  5. self.parent_transform = parent_transform
  6. end
  7. function BaseComponent:CreateGameObject(uiType,uiName)
  8. self.gameObject = UiFactory.createChild(self.parent_transform,uiType,uiName or uiType)
  9. if self.gameObject then
  10. self.transform = self.gameObject.transform
  11. self.cache_findChild = self.transform.Find
  12. self:LoadSuccess()
  13. if self.pos_x and self.pos_y then
  14. self:SetPosition(self.pos_x,self.pos_y)
  15. end
  16. end
  17. end
  18. --[[
  19. transform
  20. "input/Text"
  21. ]]
  22. function BaseComponent:GetChild(name)
  23. if self.cache_findChild and self.transform then
  24. return self.cache_findChild(self.transform,name)
  25. end
  26. end
  27. --在子类中继承
  28. function BaseComponent:LoadSuccess()
  29. end
  30. function BaseComponent:SetVisible(b)
  31. self.gameObject:SetActive(b)
  32. end
  33. function BaseComponent:GetVisible()
  34. return self.gameObject.activeSelf
  35. end
  36. function BaseComponent:SetPosition(x, y)
  37. if self.transform then
  38. self.transform.anchoredPosition = Vector2(x, y)
  39. else
  40. self.pos_x,self.pos_y = x,y
  41. end
  42. end
  43. function BaseComponent:GetPosition()
  44. return self.transform.localPosition
  45. end
  46. function BaseComponent:__delete()
  47. self._use_delete_method = true
  48. if self.gameObject then
  49. destroy(self.gameObject)
  50. self.gameObject = nil
  51. end
  52. end
  53. function BaseComponent:GetChildren( names )
  54. GetChildren(self, names)
  55. end