reward_tips_view.ts 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import { __private, _decorator, Component, instantiate, Layout, Node, Prefab, UITransform, Widget } from 'cc';
  2. import { base_ui } from '../../fw/base_ui';
  3. import { rewards_item_data } from '../../data';
  4. import { reward_tips_item } from './reward_tips_item';
  5. const { ccclass, property } = _decorator;
  6. @ccclass('reward_tips_view')
  7. export class reward_tips_view extends base_ui {
  8. @property(Node) public_bg:Node = null
  9. @property(Node) list_scrollView:Node = null
  10. @property(Node) list_content:Node = null
  11. @property(Prefab) reward_item:Prefab = null
  12. start() {
  13. this.onButtonListen(this.public_bg, ()=>{
  14. this.close()
  15. })
  16. }
  17. initView(data_list:rewards_item_data[]) {
  18. this.list_content.removeAllChildren()
  19. let count = data_list.length
  20. if(count==0) { return }
  21. for (let index = 0; index < data_list.length; index++) {
  22. const element = data_list[index];
  23. let item = instantiate(this.reward_item)
  24. item.parent = this.list_content
  25. item.getComponent(reward_tips_item).initView(element)
  26. }
  27. if(count<=4) {
  28. let item_width = instantiate(this.reward_item).getComponent(UITransform).width
  29. let list_size = this.list_content.getComponent(UITransform).contentSize
  30. let list_content_layout = this.list_content.getComponent(Layout)
  31. if(count<4) {
  32. // 水平
  33. let padding_horizontal = (list_size.width - item_width * count) / 2
  34. list_content_layout.paddingLeft = padding_horizontal
  35. list_content_layout.paddingRight = padding_horizontal
  36. }
  37. // 纵向
  38. let list_scrollview_size = this.list_scrollView.getComponent(UITransform).contentSize
  39. let list_content_layout_paddingTop_paddingBottom = list_content_layout.paddingTop + list_content_layout.paddingBottom
  40. this.list_scrollView.getComponent(Widget).top = ((list_scrollview_size.height - list_size.height) / 2) - list_content_layout_paddingTop_paddingBottom
  41. this.list_scrollView.getComponent(UITransform).height = list_size.height + list_content_layout_paddingTop_paddingBottom
  42. }
  43. }
  44. }