sign_reward.ts 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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. let is_buqian:boolean = false
  45. if(data.current_sign_status==1) {
  46. // console.log('今日领取')
  47. is_qiandao = true
  48. } else {
  49. if(data.repair_sign_status==1) {
  50. // console.log('补签')
  51. is_qiandao = true
  52. is_buqian = true
  53. }
  54. }
  55. if(is_qiandao) {
  56. this.m_click_item_cb(data,is_buqian)
  57. }
  58. }
  59. }