MateTipPanel.js 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. var ItemType = require("ItemType");
  2. var MateTipPanel = cc.Class({
  3. extends: cc.Component,
  4. properties: {
  5. mateItem:cc.Prefab,
  6. mateParent:cc.Node,
  7. hasInit:false,
  8. },
  9. ShowPanel:function () {
  10. if(this.hasInit == true)
  11. {
  12. this.RefreshPanelItems();
  13. //cc.log("已经初始化了,返回");
  14. return;
  15. }
  16. var MateList = cc.Mgr.UserDataMgr.getOwnDataListByType(ItemType.Mate);
  17. var dataList = this.getMateListBySex(cc.Mgr.UserDataMgr.Sex, MateList);
  18. for (var i = 0; i <= dataList.length - 1; i++) {
  19. //if() 判断解锁条件 我们会有男女的区别
  20. var data = dataList[i];
  21. var obj = cc.instantiate(this.mateItem);
  22. obj.parent = this.mateParent;
  23. obj.getComponent("MateItem").init(data);
  24. }
  25. this.hasInit = true;
  26. },
  27. getMateListBySex:function(Sex, dataList){
  28. var param = [];
  29. for (var i = 0; i < dataList.length; i++) {
  30. if(Sex == dataList[i].sex)
  31. {
  32. param.push(dataList[i]);
  33. }
  34. }
  35. return param;
  36. },
  37. RefreshPanelItems:function(){
  38. var children = this.mateParent.children;
  39. for (var i = children.length - 1; i >= 0; i--) {
  40. var sc = children[i].getComponent("MateItem");
  41. if(sc != null)
  42. {
  43. var data = cc.Mgr.UserDataMgr.getDataByItemTypeAndId(ItemType.Mate, sc.Id);
  44. sc.RefreshLovePoint(data);
  45. if(data.canDate)
  46. {
  47. sc.ChangeUnLockState(data);
  48. //children[i].active = true;
  49. }
  50. }
  51. }
  52. },
  53. RefreshPanel:function(Id){
  54. var data = cc.Mgr.UserDataMgr.getDataByItemTypeAndId(ItemType.Mate, Id);
  55. //cc.log("============" + data.LovePoint);
  56. var children = this.mateParent.children;
  57. for (var i = children.length - 1; i >= 0; i--) {
  58. var sc = children[i].getComponent("MateItem");
  59. if(sc != null)
  60. {
  61. if(sc.Id == Id)
  62. {
  63. if(data.canDate)
  64. {
  65. children[i].active = true;
  66. sc.RefreshLovePoint(data);
  67. }
  68. break;
  69. }
  70. }
  71. }
  72. },
  73. ClosePanel:function(){
  74. cc.Mgr.AudioMgr.playSFX("click");
  75. this.node.active = false;
  76. },
  77. });
  78. module.exports = MateTipPanel;