sign_reward.ts 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import { _decorator, Component, instantiate, Node, Prefab } from 'cc';
  2. import { sign_reward_data } from '../../data';
  3. import { sign_reward_item } from './sign_reward_item';
  4. import { sign_reward_alone_item } from './sign_reward_alone_item';
  5. const { ccclass, property } = _decorator;
  6. @ccclass('sign_reward')
  7. export class sign_reward extends Component {
  8. @property(Prefab) reward_item:Prefab = null
  9. @property(Prefab) reward_alone_item:Prefab = null
  10. @property(Node) content:Node = null
  11. private m_click_item_cb = null
  12. start() {
  13. }
  14. initView(data_list:sign_reward_data[], cb, click_item_cb) {
  15. this.m_click_item_cb = click_item_cb
  16. this.content.removeAllChildren()
  17. for (let index = 0; index < data_list.length; index++) {
  18. const element = data_list[index];
  19. if(element.current_sign_status==1) {
  20. cb(element)
  21. }
  22. if(index>=data_list.length-1) {
  23. let item = instantiate(this.reward_alone_item)
  24. item.parent = this.content
  25. item.getComponent(sign_reward_alone_item).initView(element,this.onClickRewardAloneItem.bind(this))
  26. } else {
  27. let item = instantiate(this.reward_item)
  28. item.parent = this.content
  29. item.getComponent(sign_reward_item).initView(element,this.onClickRewardItem.bind(this))
  30. }
  31. }
  32. }
  33. private onClickRewardItem(item:sign_reward_item) {
  34. this.signOperate(item.getData())
  35. }
  36. private onClickRewardAloneItem(item:sign_reward_alone_item) {
  37. this.signOperate(item.getData())
  38. }
  39. private signOperate(data:sign_reward_data) {
  40. if(data.receive_status==1) {
  41. return
  42. }
  43. let is_qiandao:boolean = false
  44. if(data.current_sign_status==1) {
  45. // console.log('今日领取')
  46. is_qiandao = true
  47. } else {
  48. if(data.repair_sign_status==1) {
  49. // console.log('补签')
  50. is_qiandao = true
  51. }
  52. }
  53. if(is_qiandao) {
  54. this.m_click_item_cb(data)
  55. }
  56. }
  57. }