car_lib.ts 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import { _decorator, Component, Label, Node, Sprite } from 'cc';
  2. import { base_ui } from '../../fw/base_ui';
  3. import { car_lib_top } from './car_lib_top';
  4. import { car_lib_bottom } from './car_lib_bottom';
  5. import { car_lib_list_item } from './car_lib_list_item';
  6. import { userDataManager } from '../../manager/userDataManager';
  7. import { ClientEvent } from '../../lib/clientEvent';
  8. import { config } from '../../config';
  9. import { http } from '../../http';
  10. const { ccclass, property } = _decorator;
  11. @ccclass('car_lib')
  12. export class car_lib extends base_ui {
  13. @property(Node) btn_back:Node = null
  14. @property(Node) top_node:Node = null
  15. @property(Node) bottom_node:Node = null
  16. private m_cur_car:car_lib_list_item = null
  17. start() {
  18. this.onButtonListen(this.btn_back, ()=>{
  19. this.syncUserSetDefaultCar()
  20. this.close()
  21. })
  22. this.initData()
  23. }
  24. initData() {
  25. this.top_node.getComponent(car_lib_top).init()
  26. this.bottom_node.getComponent(car_lib_bottom).init(this.onClickListItem.bind(this))
  27. }
  28. private onClickListItem(item:car_lib_list_item) {
  29. this.m_cur_car = item
  30. userDataManager.user_car_list.default_car_id = item.getData().id
  31. this.top_node.getComponent(car_lib_top).reloadUserCar()
  32. ClientEvent.dispatchEvent(config.UI_EVENT.UPDATE_USER_DEFAULT_CAR)
  33. }
  34. private syncUserSetDefaultCar() {
  35. if(this.m_cur_car==null) {
  36. return
  37. }
  38. let opt = {'car_id': this.m_cur_car.getData().id}
  39. http.post(config.API.user_set_default_car_id, opt, (err,d)=>{
  40. let nd = JSON.parse(d)
  41. if(nd.code === config.status.SUCCESS){}
  42. })
  43. }
  44. }