257 lines
5.0 KiB
JavaScript
257 lines
5.0 KiB
JavaScript
var SDKManage = require('SDKManage');
|
|
var NetManage = require('NetManage');
|
|
var playerData = require('playerData');
|
|
var gameConfig = require('gameConfig');
|
|
var vipColorConfig = require('vipColorConfig');
|
|
var Main = require('Main');
|
|
|
|
function etos() {
|
|
return '<img src ="e' + arguments[0].match(/\d+/gi)[0] + '"/>';
|
|
}
|
|
|
|
var colortb = {
|
|
o1: '#00ff00',
|
|
m1: '#00ffff',
|
|
o2: '#00ff00',
|
|
m2: '#00ffff',
|
|
o3: '#00ff00',
|
|
m3: '#00ffff',
|
|
};
|
|
|
|
var battlecolor = '#00ffff';
|
|
|
|
cc.Class({
|
|
extends: cc.Component,
|
|
|
|
properties: {
|
|
ly_up: {
|
|
default: null,
|
|
type: cc.Layout,
|
|
},
|
|
lb_name: {
|
|
default: null,
|
|
type: cc.Label,
|
|
},
|
|
lb_talk: {
|
|
default: null,
|
|
type: cc.RichText,
|
|
},
|
|
sp_head: {
|
|
default: null,
|
|
type: cc.Sprite,
|
|
},
|
|
sp_head_back: {
|
|
default: null,
|
|
type: cc.Sprite,
|
|
},
|
|
sp_sex: {
|
|
default: null,
|
|
type: cc.Sprite,
|
|
},
|
|
sp_vip: {
|
|
default: null,
|
|
type: cc.Sprite,
|
|
},
|
|
|
|
sp_rank: {
|
|
default: null,
|
|
type: cc.Sprite,
|
|
},
|
|
|
|
sp_lv: {
|
|
default: null,
|
|
type: cc.Sprite,
|
|
},
|
|
|
|
nd_talkbg: {
|
|
default: null,
|
|
type: cc.Node,
|
|
},
|
|
},
|
|
|
|
// LIFE-CYCLE CALLBACKS:
|
|
|
|
// onLoad () {},
|
|
|
|
start() {
|
|
this.iidex = 0;
|
|
},
|
|
|
|
update(dt) {
|
|
if (this.type == 1) {
|
|
this.node.x -= dt * 100;
|
|
if (this.node.x < -600) {
|
|
this.node.active = false;
|
|
//console.log("text destroy")
|
|
}
|
|
} else {
|
|
this.showtime += dt;
|
|
if (this.showtime > 5) {
|
|
this.node.active = false;
|
|
}
|
|
}
|
|
},
|
|
|
|
changeText(sender, data, type) {
|
|
this.sdata = data;
|
|
this.type = type;
|
|
this.sender = sender;
|
|
this.showtime = 0;
|
|
if (this.type == 1) {
|
|
this.node.x = 600;
|
|
this.nd_talkbg.active = false;
|
|
} else {
|
|
this.node.x = 0;
|
|
this.nd_talkbg.active = true;
|
|
}
|
|
this.node.active = true;
|
|
this.setdata(this.sender, this.sdata);
|
|
},
|
|
|
|
showsenderinfo(userdata) {
|
|
var self = this;
|
|
self.sp_vip.spriteFrame = null;
|
|
var vg = gameConfig.vipConfig[userdata.vip_lv];
|
|
if (!vg) {
|
|
return;
|
|
}
|
|
|
|
if (userdata.vip_lv != 0) {
|
|
cc.loader.loadRes(
|
|
'textures/icons/public/vip' + userdata.vip_lv,
|
|
cc.SpriteFrame,
|
|
function (err, res) {
|
|
if (!err && self.isValid) {
|
|
self.sp_vip.spriteFrame = res;
|
|
}
|
|
}
|
|
);
|
|
}
|
|
var coltring = vipColorConfig[vg.color];
|
|
this.lb_name.string = userdata.nickname;
|
|
this.lb_name.node.color = coltring;
|
|
|
|
var id = userdata.head;
|
|
if (!id) {
|
|
id = 0;
|
|
}
|
|
cc.loader.loadRes(
|
|
'textures/icons/headbg/head_bg' + id,
|
|
cc.SpriteFrame,
|
|
function (err, res) {
|
|
if (!err && self.isValid) {
|
|
self.sp_head_back.spriteFrame = res;
|
|
}
|
|
}
|
|
);
|
|
|
|
var avatar_id = 18201;
|
|
var sex = 'm';
|
|
if (userdata.sex == 1) {
|
|
sex = 'f';
|
|
}
|
|
if (
|
|
userdata.avatar_url &&
|
|
Number(userdata.avatar_url) >= 18000 &&
|
|
Number(userdata.avatar_url) <= 19000
|
|
) {
|
|
avatar_id = userdata.avatar_url;
|
|
}
|
|
|
|
this.lastavatar = avatar_id;
|
|
|
|
cc.loader.loadRes(
|
|
'textures/icons/public/' +
|
|
gameConfig.wai_itemConfig[avatar_id].icon,
|
|
cc.SpriteFrame,
|
|
function (err, res) {
|
|
if (!err && self.isValid) {
|
|
self.sp_head.spriteFrame = res;
|
|
}
|
|
}
|
|
);
|
|
var score = userdata.user_value1.low;
|
|
var level_list = playerData.getSeasonArr();
|
|
var fg;
|
|
for (var i = 0; i < level_list.length; i++) {
|
|
if (
|
|
score <= level_list[i].max_point ||
|
|
level_list[i].max_point == -1
|
|
) {
|
|
fg = level_list[i];
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (!fg) {
|
|
return;
|
|
}
|
|
cc.loader.loadRes(
|
|
'textures/icons/public/' + fg.icon,
|
|
cc.SpriteFrame,
|
|
function (err, res) {
|
|
if (!err && self.isValid) {
|
|
if (self.sp_rank) {
|
|
self.sp_rank.spriteFrame = res;
|
|
}
|
|
}
|
|
}
|
|
);
|
|
if (fg.level != '') {
|
|
cc.loader.loadRes(
|
|
'textures/icons/public/' + fg.level,
|
|
cc.SpriteFrame,
|
|
function (err, res) {
|
|
if (!err && self.isValid) {
|
|
if (self.sp_lv) {
|
|
self.sp_lv.spriteFrame = res;
|
|
}
|
|
}
|
|
}
|
|
);
|
|
}
|
|
|
|
cc.loader.loadRes(
|
|
'textures/icons/public/' + sex,
|
|
cc.SpriteFrame,
|
|
function (err, res) {
|
|
if (!err && self.isValid) {
|
|
self.sp_sex.spriteFrame = res;
|
|
}
|
|
}
|
|
);
|
|
},
|
|
|
|
onBtnShowInfo() {
|
|
var flag = 0;
|
|
for (var i = 0; i < playerData.friend_list.length; i++) {
|
|
if (
|
|
playerData.friend_list[i].base_data['account_id'] ==
|
|
this.account_id
|
|
) {
|
|
flag = 1;
|
|
}
|
|
}
|
|
playerData.friend_accountid = this.account_id;
|
|
playerData.friend_rank = this.rank;
|
|
cc.Notifier.emit('showplayerinfo', flag);
|
|
},
|
|
|
|
setdata(sender, data) {
|
|
//this.chat_channel = data.chat_channel
|
|
|
|
var userdata = sender.base_data;
|
|
|
|
this.showsenderinfo(userdata);
|
|
this.account_id = userdata.account_id;
|
|
|
|
var str = data;
|
|
var reg = /\(e\d+\)/gi;
|
|
str = str.replace(reg, etos);
|
|
this.lb_talk.string =
|
|
'<color=' + this.strcolor + '>' + str + '</color>';
|
|
this.nd_talkbg.width = this.lb_talk._linesWidth[0] + 30;
|
|
this.nd_talkbg.height = this.lb_talk._labelHeight;
|
|
},
|
|
});
|