145 lines
4.1 KiB
JavaScript
145 lines
4.1 KiB
JavaScript
/*-----------------------------------------------------+
|
|
* 角色数据模块
|
|
* @author whjing2012@163.com
|
|
+-----------------------------------------------------*/
|
|
var RoleEvent = require( "role_event" );
|
|
var RoleVo = cc.Class( {
|
|
extends: gcore.BaseEvent,
|
|
ctor: function () {
|
|
this.rid = 0;
|
|
this.srv_id = "";
|
|
this.name = "";
|
|
this.lev = 0;
|
|
this.exp = 0;
|
|
this.exp_max = 0;
|
|
this.sex = 0;
|
|
this.gold = 0;
|
|
this.coin = 0;
|
|
this.vip_lev = 0;
|
|
this.vip_exp = 0;
|
|
this.is_vip = 0;//是否激活vip;
|
|
this.face_id = 0; // 头像
|
|
this.avatar_base_id = 0; // 头像框
|
|
this.face_list = []; // 头像列表
|
|
this.title_id = 0; // 使用称号ID
|
|
this.title_list = []; // 已获得称号列表
|
|
this.reg_time = 0;//注册时间
|
|
this.bubble_bid = 0; // 聊天泡泡
|
|
|
|
this.gid = 0;//公会id
|
|
this.gsrv_id = "";//公会服务器id
|
|
this.position = 0;//公会职位
|
|
this.gname = "";//所属帮派的名字
|
|
this.guild_lev = 0;//公会等级
|
|
this.guild_quit_time = 0;//上次退帮时间
|
|
this.friend_point = 0;//友情点
|
|
|
|
this.chager_total = 0;//累计充值总额
|
|
|
|
this.power = 0;//战力
|
|
this.max_power = 0;//最高战力
|
|
|
|
this.open_day = 0; // 开服天数
|
|
|
|
this.energy = 0;//远航情报
|
|
this.energy_max = 0;//远航情报上限
|
|
|
|
this.dic_action_assets = {} // --活动资产信息 self.dic_action_assets[资产id] = 数量
|
|
|
|
this.recruithigh_hero = 0 // -- 先知殿积分
|
|
|
|
this.vip_card_exp = 0;
|
|
|
|
},
|
|
|
|
// 更新角色数据
|
|
initAttributeData: function ( data ) {
|
|
for( var k in data ) {
|
|
this.setRoleAttribute( k, data[ k ] );
|
|
}
|
|
},
|
|
|
|
// 设置单个属性信息
|
|
setRoleAttribute: function ( key, value ) {
|
|
if( key == "srv_id" ) {
|
|
let str = "srv_id" + nx.storage.get( "user_name" );
|
|
nx.storage.set( str, value );
|
|
// console.log("key===",key,value,str);
|
|
// console.log("存储的服务器", nx.storage.get(str))
|
|
}
|
|
if( this[ key ] != value ) {
|
|
this[ key ] = value;
|
|
this.dispatchUpdateAttrByKey( key, value );
|
|
}
|
|
},
|
|
|
|
// 派发单个属性变化事件
|
|
dispatchUpdateAttrByKey( key, value ) {
|
|
this.fire( EventId.UPDATE_ROLE_ATTRIBUTE, key, value );
|
|
},
|
|
|
|
// 角色基础数据变化
|
|
dispatchUpdateBaseAttr: function () {
|
|
this.fire( EventId.ROLE_EVENT_BASE_ATTR );
|
|
},
|
|
|
|
// 是否是自己
|
|
isSameRole( srv_id, rid ) {
|
|
return ( this.srv_id == srv_id && this.rid == rid )
|
|
},
|
|
|
|
//判断是否有加入宗派
|
|
isHasGuild: function () {
|
|
return this.gid != 0
|
|
},
|
|
// --[[角色活动资产信息]]
|
|
// --@is_update 是否数据更新
|
|
initActionAssetsData( holiday_assets, is_update ) {
|
|
holiday_assets = holiday_assets || []
|
|
for( let i = 0;i < holiday_assets.length;++i ) {
|
|
let v = holiday_assets[ i ]
|
|
this.dic_action_assets[ v.id ] = v.val
|
|
if( is_update ) {
|
|
this.fire( RoleEvent.UPDATE_ROLE_ACTION_ASSETS, v.id, v.val )
|
|
}
|
|
}
|
|
},
|
|
// --获取活动资产数量
|
|
getActionAssetsNumByBid( bid ) {
|
|
var self = this
|
|
if( self.dic_action_assets && self.dic_action_assets[ bid ] ) {
|
|
return self.dic_action_assets[ bid ]
|
|
} else {
|
|
return 0
|
|
}
|
|
},
|
|
|
|
setPower: function ( value ) {
|
|
|
|
let old = this.power;
|
|
this.power = value || 0;
|
|
|
|
if( this.power != old ) {
|
|
this.fire( EventId.UPDATE_ROLE_ATTRIBUTE, "power", this.power );
|
|
}
|
|
|
|
},
|
|
|
|
//设置最高战力
|
|
setMaxPower: function ( value ) {
|
|
|
|
let old = this.max_power;
|
|
this.max_power = value || 0;
|
|
|
|
if( this.max_power != old ) {
|
|
this.fire( EventId.UPDATE_ROLE_ATTRIBUTE, "max_power", this.max_power );
|
|
}
|
|
|
|
},
|
|
|
|
// 设置聊天泡泡
|
|
setBubble: function( _id ) {
|
|
this.bubble_bid = _id || 1000;
|
|
},
|
|
|
|
} ); |