difenduandada
2024-12-31 34abe6963b344c882358274957f4b992456fee40
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
 
                (function() {
                    var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
                    var __module = nodeEnv ? module : {exports:{}};
                    var __filename = 'preview-scripts/assets/Scripts/mod/activity/view/activity_window.js';
                    var __require = nodeEnv ? function (request) {
                        return cc.require(request);
                    } : function (request) {
                        return __quick_compile_project__.require(request, __filename);
                    };
                    function __define (exports, require, module) {
                        if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict";
cc._RF.push(module, '2016dmayRBHirbwfElj5DZY', 'activity_window');
// Scripts/mod/activity/view/activity_window.js
 
"use strict";
 
// --------------------------------------------------------------------
// @author: xxx@syg.com(必填, 创建模块的人员)
// @description:
//     活动主界面
// <br/>Create: 2019-05-06 14:33:44
// --------------------------------------------------------------------
var PathTool = require("pathtool");
 
var ActivityEvent = require("activity_event");
 
var ActivityWindow = cc.Class({
  "extends": BaseView,
  ctor: function ctor() {
    this.prefabPath = PathTool.getPrefabPath("activity", "activity_window");
    this.viewTag = SCENE_TAG.ui; //该窗体所属ui层级,全屏ui需要在ui层,非全屏ui在dialogue层,这个要注意
 
    this.win_type = WinType.Full; //是否是全屏窗体  WinType.Full, WinType.Big, WinType.Mini, WinType.Tips
 
    this.ctrl = arguments[0];
    this.model = this.ctrl.getModel();
  },
  // 初始化一些配置数据,可以用于声明一些变量之类的
  initConfig: function initConfig() {},
  // 预制体加载完成之后的回调,可以在这里捕获相关节点或者组件
  openCallBack: function openCallBack() {
    this._main_container = this.root_wnd.getChildByName("main_container");
    this._scoreView = this._main_container.getChildByName("scoreView");
 
    var scroll_view_size = this._scoreView.getContentSize();
 
    var ActivityItem = require("activity_item_panel");
 
    var setting = {
      item_class: ActivityItem,
      // 单元类
      start_x: 7.5,
      // 第一个单元的X起点
      space_x: 6,
      // x方向的间隔
      start_y: 3,
      // 第一个单元的Y起点
      space_y: 0,
      // y方向的间隔
      item_width: 605,
      // 单元的尺寸width
      item_height: 165,
      // 单元的尺寸height
      row: 0,
      // 行数,作用于水平滚动类型
      col: 1,
      // 列数,作用于垂直滚动类型
      delay: 2
    };
 
    var CommonScrollView = require("common_scrollview");
 
    this.itemScrollview = new CommonScrollView();
    this.itemScrollview.createScroll(this._scoreView, cc.v2(0, 0), ScrollViewDir.vertical, ScrollViewStartPos.top, scroll_view_size, setting);
  },
  // 注册事件监听的接口,不需要手动调用,如果是使用gcore.GlobalEvent监听,可以直接调用addGlobalEvent
  registerEvent: function registerEvent() {
    this.addGlobalEvent(ActivityEvent.EscortCount, function () {
      if (this.itemScrollview) {
        var item_list = this.itemScrollview.getItemList();
 
        if (item_list) {
          for (var i in item_list) {
            item_list[i].changeEscortCount();
          }
        }
      }
    }.bind(this));
    this.addGlobalEvent(EventId.UPDATE_ROLE_ATTRIBUTE, function (key, value) {
      if (key == "lev") {
        if (this.itemScrollview && Utils.next(this.dataInfo) != null) {
          this.itemScrollview.setData(this.dataInfo);
        }
      }
    }.bind(this));
  },
  // 预制体加载完成之后,添加到对应主节点之后的回调,也就是一个窗体的正式入口,可以设置一些数据了
  openRootWnd: function openRootWnd(params) {},
  updateItemListRedStatus: function updateItemListRedStatus() {
    var item_list = this.itemScrollview.getItemList();
 
    if (item_list) {
      for (var i in item_list) {
        item_list[i].updateRedStatus();
      }
    }
  },
  // 关闭窗体回调,需要在这里调用该窗体所属controller的close方法没用于置空该窗体实例对象
  closeCallBack: function closeCallBack() {
    this.build_vo = null;
 
    if (this.itemScrollview) {
      this.itemScrollview.deleteMe();
      this.itemScrollview = null;
    }
 
    this.ctrl.openActivityView(false);
  }
});
 
cc._RF.pop();
                    }
                    if (nodeEnv) {
                        __define(__module.exports, __require, __module);
                    }
                    else {
                        __quick_compile_project__.registerModuleFunc(__filename, function () {
                            __define(__module.exports, __require, __module);
                        });
                    }
                })();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFxhY3Rpdml0eVxcdmlld1xcYWN0aXZpdHlfd2luZG93LmpzIl0sIm5hbWVzIjpbIlBhdGhUb29sIiwicmVxdWlyZSIsIkFjdGl2aXR5RXZlbnQiLCJBY3Rpdml0eVdpbmRvdyIsImNjIiwiQ2xhc3MiLCJCYXNlVmlldyIsImN0b3IiLCJwcmVmYWJQYXRoIiwiZ2V0UHJlZmFiUGF0aCIsInZpZXdUYWciLCJTQ0VORV9UQUciLCJ1aSIsIndpbl90eXBlIiwiV2luVHlwZSIsIkZ1bGwiLCJjdHJsIiwiYXJndW1lbnRzIiwibW9kZWwiLCJnZXRNb2RlbCIsImluaXRDb25maWciLCJvcGVuQ2FsbEJhY2siLCJfbWFpbl9jb250YWluZXIiLCJyb290X3duZCIsImdldENoaWxkQnlOYW1lIiwiX3Njb3JlVmlldyIsInNjcm9sbF92aWV3X3NpemUiLCJnZXRDb250ZW50U2l6ZSIsIkFjdGl2aXR5SXRlbSIsInNldHRpbmciLCJpdGVtX2NsYXNzIiwic3RhcnRfeCIsInNwYWNlX3giLCJzdGFydF95Iiwic3BhY2VfeSIsIml0ZW1fd2lkdGgiLCJpdGVtX2hlaWdodCIsInJvdyIsImNvbCIsImRlbGF5IiwiQ29tbW9uU2Nyb2xsVmlldyIsIml0ZW1TY3JvbGx2aWV3IiwiY3JlYXRlU2Nyb2xsIiwidjIiLCJTY3JvbGxWaWV3RGlyIiwidmVydGljYWwiLCJTY3JvbGxWaWV3U3RhcnRQb3MiLCJ0b3AiLCJyZWdpc3RlckV2ZW50IiwiYWRkR2xvYmFsRXZlbnQiLCJFc2NvcnRDb3VudCIsIml0ZW1fbGlzdCIsImdldEl0ZW1MaXN0IiwiaSIsImNoYW5nZUVzY29ydENvdW50IiwiYmluZCIsIkV2ZW50SWQiLCJVUERBVEVfUk9MRV9BVFRSSUJVVEUiLCJrZXkiLCJ2YWx1ZSIsIlV0aWxzIiwibmV4dCIsImRhdGFJbmZvIiwic2V0RGF0YSIsIm9wZW5Sb290V25kIiwicGFyYW1zIiwidXBkYXRlSXRlbUxpc3RSZWRTdGF0dXMiLCJ1cGRhdGVSZWRTdGF0dXMiLCJjbG9zZUNhbGxCYWNrIiwiYnVpbGRfdm8iLCJkZWxldGVNZSIsIm9wZW5BY3Rpdml0eVZpZXciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSUEsUUFBUSxHQUFHQyxPQUFPLENBQUMsVUFBRCxDQUF0Qjs7QUFDQSxJQUFJQyxhQUFhLEdBQUdELE9BQU8sQ0FBQyxnQkFBRCxDQUEzQjs7QUFFQSxJQUFJRSxjQUFjLEdBQUdDLEVBQUUsQ0FBQ0MsS0FBSCxDQUFTO0FBQzFCLGFBQVNDLFFBRGlCO0FBRTFCQyxFQUFBQSxJQUFJLEVBQUUsZ0JBQVk7QUFDZCxTQUFLQyxVQUFMLEdBQWtCUixRQUFRLENBQUNTLGFBQVQsQ0FBdUIsVUFBdkIsRUFBbUMsaUJBQW5DLENBQWxCO0FBQ0EsU0FBS0MsT0FBTCxHQUFlQyxTQUFTLENBQUNDLEVBQXpCLENBRmMsQ0FFOEI7O0FBQzVDLFNBQUtDLFFBQUwsR0FBZ0JDLE9BQU8sQ0FBQ0MsSUFBeEIsQ0FIYyxDQUc4Qjs7QUFDNUMsU0FBS0MsSUFBTCxHQUFZQyxTQUFTLENBQUMsQ0FBRCxDQUFyQjtBQUNBLFNBQUtDLEtBQUwsR0FBYSxLQUFLRixJQUFMLENBQVVHLFFBQVYsRUFBYjtBQUNILEdBUnlCO0FBVTFCO0FBQ0FDLEVBQUFBLFVBQVUsRUFBQyxzQkFBVSxDQUVwQixDQWJ5QjtBQWUxQjtBQUNBQyxFQUFBQSxZQUFZLEVBQUMsd0JBQVU7QUFDbkIsU0FBS0MsZUFBTCxHQUF1QixLQUFLQyxRQUFMLENBQWNDLGNBQWQsQ0FBNkIsZ0JBQTdCLENBQXZCO0FBQ0EsU0FBS0MsVUFBTCxHQUFrQixLQUFLSCxlQUFMLENBQXFCRSxjQUFyQixDQUFvQyxXQUFwQyxDQUFsQjs7QUFDQSxRQUFJRSxnQkFBZ0IsR0FBRyxLQUFLRCxVQUFMLENBQWdCRSxjQUFoQixFQUF2Qjs7QUFFQSxRQUFJQyxZQUFZLEdBQUczQixPQUFPLENBQUMscUJBQUQsQ0FBMUI7O0FBQ0Es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OlsiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEBhdXRob3I6IHh4eEBzeWcuY29tKOW/heWhqywg5Yib5bu65qih5Z2X55qE5Lq65ZGYKVxuLy8gQGRlc2NyaXB0aW9uOlxuLy8gICAgIOa0u+WKqOS4u+eVjOmdolxuLy8gPGJyLz5DcmVhdGU6IDIwMTktMDUtMDYgMTQ6MzM6NDRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG52YXIgUGF0aFRvb2wgPSByZXF1aXJlKFwicGF0aHRvb2xcIik7XG52YXIgQWN0aXZpdHlFdmVudCA9IHJlcXVpcmUoXCJhY3Rpdml0eV9ldmVudFwiKTtcblxudmFyIEFjdGl2aXR5V2luZG93ID0gY2MuQ2xhc3Moe1xuICAgIGV4dGVuZHM6IEJhc2VWaWV3LFxuICAgIGN0b3I6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5wcmVmYWJQYXRoID0gUGF0aFRvb2wuZ2V0UHJlZmFiUGF0aChcImFjdGl2aXR5XCIsIFwiYWN0aXZpdHlfd2luZG93XCIpO1xuICAgICAgICB0aGlzLnZpZXdUYWcgPSBTQ0VORV9UQUcudWk7ICAgICAgICAgICAgICAgIC8v6K+l56qX5L2T5omA5bGedWnlsYLnuqcs5YWo5bGPdWnpnIDopoHlnKh1aeWxgizpnZ7lhajlsY91aeWcqGRpYWxvZ3Vl5bGCLOi/meS4quimgeazqOaEj1xuICAgICAgICB0aGlzLndpbl90eXBlID0gV2luVHlwZS5GdWxsOyAgICAgICAgICAgICAgIC8v5piv5ZCm5piv5YWo5bGP56qX5L2TICBXaW5UeXBlLkZ1bGwsIFdpblR5cGUuQmlnLCBXaW5UeXBlLk1pbmksIFdpblR5cGUuVGlwc1xuICAgICAgICB0aGlzLmN0cmwgPSBhcmd1bWVudHNbMF07XG4gICAgICAgIHRoaXMubW9kZWwgPSB0aGlzLmN0cmwuZ2V0TW9kZWwoKTtcbiAgICB9LFxuXG4gICAgLy8g5Yid5aeL5YyW5LiA5Lqb6YWN572u5pWw5o2uLOWPr+S7peeUqOS6juWjsOaYjuS4gOS6m+WPmOmHj+S5i+exu+eahFxuICAgIGluaXRDb25maWc6ZnVuY3Rpb24oKXtcblxuICAgIH0sXG5cbiAgICAvLyDpooTliLbkvZPliqDovb3lrozmiJDkuYvlkI7nmoTlm57osIMs5Y+v5Lul5Zyo6L+Z6YeM5o2V6I6355u45YWz6IqC54K55oiW6ICF57uE5Lu2XG4gICAgb3BlbkNhbGxCYWNrOmZ1bmN0aW9uKCl7XG4gICAgICAgIHRoaXMuX21haW5fY29udGFpbmVyID0gdGhpcy5yb290X3duZC5nZXRDaGlsZEJ5TmFtZShcIm1haW5fY29udGFpbmVyXCIpO1xuICAgICAgICB0aGlzLl9zY29yZVZpZXcgPSB0aGlzLl9tYWluX2NvbnRhaW5lci5nZXRDaGlsZEJ5TmFtZShcInNjb3JlVmlld1wiKTtcbiAgICAgICAgdmFyIHNjcm9sbF92aWV3X3NpemUgPSB0aGlzLl9zY29yZVZpZXcuZ2V0Q29udGVudFNpemUoKTtcblxuICAgICAgICB2YXIgQWN0aXZpdHlJdGVtID0gcmVxdWlyZShcImFjdGl2aXR5X2l0ZW1fcGFuZWxcIik7XG4gICAgICAgIHZhciBzZXR0aW5nID0ge1xuICAgICAgICAgICAgaXRlbV9jbGFzczogQWN0aXZpdHlJdGVtLCAgICAgIC8vIOWNleWFg+exu1xuICAgICAgICAgICAgc3RhcnRfeDogNy41LCAgICAgICAgICAgICAgICAgIC8vIOesrOS4gOS4quWNleWFg+eahFjotbfngrlcbiAgICAgICAgICAgIHNwYWNlX3g6IDYsICAgICAgICAgICAgICAgICAgICAvLyB45pa55ZCR55qE6Ze06ZqUXG4gICAgICAgICAgICBzdGFydF95OiAzLCAgICAgICAgICAgICAgICAgICAgLy8g56ys5LiA5Liq5Y2V5YWD55qEWei1t+eCuVxuICAgICAgICAgICAgc3BhY2VfeTogMCwgICAgICAgICAgICAgICAgICAgIC8vIHnmlrnlkJHnmoTpl7TpmpRcbiAgICAgICAgICAgIGl0ZW1fd2lkdGg6IDYwNSwgICAgICAgICAgICAgICAvLyDljZXlhYPnmoTlsLrlr7h3aWR0aFxuICAgICAgICAgICAgaXRlbV9oZWlnaHQ6IDE2NSwgICAgICAgICAgICAgIC8vIOWNleWFg+eahOWwuuWvuGhlaWdodFxuICAgICAgICAgICAgcm93OiAwLCAgICAgICAgICAgICAgICAgICAgICAgIC8vIOihjOaVsO+8jOS9nOeUqOS6juawtOW5s+a7muWKqOexu+Wei1xuICAgICAgICAgICAgY29sOiAxLCAgICAgICAgICAgICAgICAgICAgICAgICAvLyDliJfmlbDvvIzkvZznlKjkuo7lnoLnm7Tmu5rliqjnsbvlnotcbiAgICAgICAgICAgIGRlbGF5OiAyXG4gICAgICAgIH1cbiAgICAgICAgdmFyIENvbW1vblNjcm9sbFZpZXcgPSByZXF1aXJlKFwiY29tbW9uX3Njcm9sbHZpZXdcIik7XG4gICAgICAgIHRoaXMuaXRlbVNjcm9sbHZpZXcgPSBuZXcgQ29tbW9uU2Nyb2xsVmlldygpO1xuICAgICAgICB0aGlzLml0ZW1TY3JvbGx2aWV3LmNyZWF0ZVNjcm9sbCh0aGlzLl9zY29yZVZpZXcsIGNjLnYyKDAsMCkgLCBTY3JvbGxWaWV3RGlyLnZlcnRpY2FsLCBTY3JvbGxWaWV3U3RhcnRQb3MudG9wLCBzY3JvbGxfdmlld19zaXplLCBzZXR0aW5nKTtcbiAgICB9LFxuXG4gICAgLy8g5rOo5YaM5LqL5Lu255uR5ZCs55qE5o6l5Y+jLOS4jemcgOimgeaJi+WKqOiwg+eUqCzlpoLmnpzmmK/kvb/nlKhnY29yZS5HbG9iYWxFdmVudOebkeWQrCzlj6/ku6Xnm7TmjqXosIPnlKhhZGRHbG9iYWxFdmVudFxuICAgIHJlZ2lzdGVyRXZlbnQ6ZnVuY3Rpb24oKXtcbiAgICAgICAgdGhpcy5hZGRHbG9iYWxFdmVudChBY3Rpdml0eUV2ZW50LkVzY29ydENvdW50LGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICBpZih0aGlzLml0ZW1TY3JvbGx2aWV3KXtcbiAgICAgICAgICAgICAgICB2YXIgaXRlbV9saXN0ID0gdGhpcy5pdGVtU2Nyb2xsdmlldy5nZXRJdGVtTGlzdCgpO1xuICAgICAgICAgICAgICAgIGlmKGl0ZW1fbGlzdCl7XG4gICAgICAgICAgICAgICAgICAgIGZvcih2YXIgaSBpbiBpdGVtX2xpc3Qpe1xuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbV9saXN0W2ldLmNoYW5nZUVzY29ydENvdW50KCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0uYmluZCh0aGlzKSk7XG5cbiAgICAgICAgdGhpcy5hZGRHbG9iYWxFdmVudChFdmVudElkLlVQREFURV9ST0xFX0FUVFJJQlVURSxmdW5jdGlvbihrZXksIHZhbHVlKXtcbiAgICAgICAgICAgIGlmKGtleSA9PSBcImxldlwiKXtcbiAgICAgICAgICAgICAgICBpZih0aGlzLml0ZW1TY3JvbGx2aWV3ICYmIFV0aWxzLm5leHQodGhpcy5kYXRhSW5mbykgIT0gbnVsbCl7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXRlbVNjcm9sbHZpZXcuc2V0RGF0YSh0aGlzLmRhdGFJbmZvKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0uYmluZCh0aGlzKSk7XG4gICAgfSxcblxuICAgIC8vIOmihOWItuS9k+WKoOi9veWujOaIkOS5i+WQjizmt7vliqDliLDlr7nlupTkuLvoioLngrnkuYvlkI7nmoTlm57osIMs5Lmf5bCx5piv5LiA5Liq56qX5L2T55qE5q2j5byP5YWl5Y+jLOWPr+S7peiuvue9ruS4gOS6m+aVsOaNruS6hlxuICAgIG9wZW5Sb290V25kOmZ1bmN0aW9uKHBhcmFtcyl7XG5cbiAgICB9LFxuXG4gICAgdXBkYXRlSXRlbUxpc3RSZWRTdGF0dXM6ZnVuY3Rpb24oKXtcbiAgICAgICAgdmFyIGl0ZW1fbGlzdCA9IHRoaXMuaXRlbVNjcm9sbHZpZXcuZ2V0SXRlbUxpc3QoKTtcbiAgICAgICAgaWYoaXRlbV9saXN0KXtcbiAgICAgICAgICAgIGZvcih2YXIgaSBpbiBpdGVtX2xpc3Qpe1xuICAgICAgICAgICAgICAgIGl0ZW1fbGlzdFtpXS51cGRhdGVSZWRTdGF0dXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICAvLyDlhbPpl63nqpfkvZPlm57osIMs6ZyA6KaB5Zyo6L+Z6YeM6LCD55So6K+l56qX5L2T5omA5bGeY29udHJvbGxlcueahGNsb3Nl5pa55rOV5rKh55So5LqO572u56m66K+l56qX5L2T5a6e5L6L5a+56LGhXG4gICAgY2xvc2VDYWxsQmFjazpmdW5jdGlvbigpe1xuICAgICAgICB0aGlzLmJ1aWxkX3ZvID0gbnVsbDtcblxuICAgICAgICBpZiAodGhpcy5pdGVtU2Nyb2xsdmlldyl7XG4gICAgICAgICAgICB0aGlzLml0ZW1TY3JvbGx2aWV3LmRlbGV0ZU1lKCk7XG4gICAgICAgICAgICB0aGlzLml0ZW1TY3JvbGx2aWV3ID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY3RybC5vcGVuQWN0aXZpdHlWaWV3KGZhbHNlKVxuICAgIH0sXG59KSJdfQ==