"use strict";
cc._RF.push(module, '725839AfKxLGK5rL403pMXK', 'redbag_look_item');
// Scripts/mod/redbag/view/redbag_look_item.js
"use strict";
// --------------------------------------------------------------------
// @author: xxx@syg.com(必填, 创建模块的人员)
// @description:
// 这里是描述这个窗体的作用的
//
Create: 2019-06-27 10:47:26
// --------------------------------------------------------------------
var PathTool = require("pathtool");
var PlayerHead = require("playerhead");
var RoleController = require("role_controller");
var TimeTool = require("timetool");
var Redbag_lookPanel = cc.Class({
"extends": BasePanel,
ctor: function ctor() {
this.prefabPath = PathTool.getPrefabPath("redbag", "redbag_look_item");
},
// 可以初始化声明一些变量的
initConfig: function initConfig() {
this.size = cc.size(455, 93);
},
// 初始化一些配置数据,可以用于声明一些变量之类的
initPanel: function initPanel() {
this.main_panel = this.seekChild("main_panel");
this.bg_nd = this.seekChild("bg");
this.me_bg_nd = this.seekChild("me_bg");
this.me_bg_nd.active = false;
this.head_icon = new PlayerHead();
this.head_icon.show();
this.head_icon.setParent(this.main_panel);
this.head_icon.setPosition(-180, 0);
this.head_icon.setScale(0.7);
this.head_icon.addCallBack(function () {
var roleVo = RoleController.getInstance().getRoleVo();
if (roleVo.rid == this.data.rid && roleVo.srv_id == this.data.srv_id) return;
require("chat_controller").getInstance().openFriendInfo(this.data);
}.bind(this));
this.me_icon_nd = this.seekChild("me_icon");
this.me_icon_nd.active = false;
this.role_name_rt = this.seekChild("role_name", cc.RichText);
this.get_time_lb = this.seekChild("get_time", cc.Label);
this.money_label_rt = this.seekChild("money_label", cc.RichText);
},
// 注册事件监听的接口,不需要手动调用,如果是使用gcore.GlobalEvent监听,可以直接调用addGlobalEvent
registerEvent: function registerEvent() {},
setData: function setData(data) {
this.data = data;
if (this.root_wnd) this.onShow();
},
// 预制体加载完成之后,添加到对应主节点之后的回调可以设置一些数据了
onShow: function onShow() {
if (this.data == null) return;
var vo = this.data;
this.showFirstIcon(false);
if (vo.index != null && vo.index % 2 == 1) {
this.bg_nd.active = true;
} else {
this.bg_nd.active = false;
}
if (vo.index != null && vo.index == 0) {
this.showFirstIcon(true);
}
this.head_icon.setHeadRes(vo.face_id);
this.head_icon.setFrameRes(vo.avatar_bid);
var name = vo.name || "";
var post_num = vo.post || 3;
var post_config = Config.guild_data.data_position[post_num];
if (post_config) {
var post = post_config.name || "";
var str = cc.js.formatStr("%s(%s)", name, post);
this.role_name_rt.string = str;
this.me_icon_nd.x = this.role_name_rt.node.x + this.role_name_rt.node.width + 10;
}
var get_time = TimeTool.getYMDHMS(vo.time || 0);
this.get_time_lb.string = get_time;
if (!this.extend_data) return;
var coin = this.extend_data.assets;
var val = vo.val || 0;
var item_id = Config.item_data.data_assets_label2id[coin] || "";
var item_config = Utils.getItemConfig(item_id);
if (item_config) {
var res = item_config.icon;
var str = cc.js.formatStr(Utils.TI18N("%s
"), val, res);
this.money_label_rt.string = str;
this.loadRes(PathTool.getItemRes(item_config.icon), function (resObject) {
this.money_label_rt.addSpriteFrame(resObject);
}.bind(this));
}
var role_vo = RoleController.getInstance().getRoleVo();
if (role_vo.rid == vo.rid && role_vo.srv_id == vo.srv_id) {
this.me_icon_nd.active = true;
this.me_bg_nd.active = true;
} else {
this.me_bg_nd.active = false;
this.me_icon_nd.active = false;
}
},
setExtendData: function setExtendData(data) {
if (!data) return;
this.extend_data = data;
},
showFirstIcon: function showFirstIcon(bool) {
if (bool == false && !this.first_icon) {
return;
}
if (!this.first_icon) {
var res = PathTool.getUIIconPath("redbag", "txt_cn_redbag_4");
this.first_icon = Utils.createImage(this.root_wnd, null, -191, 24, cc.v2(0.5, 0.5));
this.loadRes(res, function (sp) {
this.first_icon.spriteFrame = sp;
}.bind(this));
}
this.first_icon.node.active = bool;
},
// 面板设置不可见的回调,这里做一些不可见的屏蔽处理
onHide: function onHide() {},
// 当面板从主节点释放掉的调用接口,需要手动调用,而且也一定要调用
onDelete: function onDelete() {
if (this.first_icon) {
this.first_icon.node.destroy();
this.first_icon = null;
}
if (this.head_icon) {
this.head_icon.deleteMe();
this.head_icon = null;
}
}
});
cc._RF.pop();