Files
fc/dev/project/library/imports/f6/f613fb48-37a2-4bef-830e-f5b164601989.js
T
2026-05-24 10:21:26 +08:00

139 lines
4.0 KiB
JavaScript

"use strict";
cc._RF.push(module, 'f613ftIN6JL74MO9bFkYBmJ', 'role_model');
// Scripts/mod/personal/role_model.js
"use strict";
/*-----------------------------------------------------+
* 主角色数据模块
* @author whjing2012@163.com
+-----------------------------------------------------*/
var RoleModel = cc.Class({
ctor: function ctor() {
this.role_vo = null;
},
initConfig: function initConfig() {
this.open_srv_day = 0; // 开服天数.
this.world_lev = 0;
},
// -- 设世界等级
setWorldLev: function setWorldLev(lev) {
this.world_lev = lev;
},
// -- 获取世界等级
getWorldLev: function getWorldLev() {
return this.world_lev;
},
// 初始化角色基础数据
initRoleBaseData: function initRoleBaseData(data) {
this.initAttribute(data);
this.role_vo.dispatchUpdateBaseAttr();
},
// 资产信息变化
initRoleAssetsData: function initRoleAssetsData(data) {
this.initAttribute(data);
},
// 更新角色所有属性
initAttribute: function initAttribute(data) {
if (!this.role_vo) {
var RoleVo = require("role_vo");
this.role_vo = new RoleVo();
}
this.role_vo.initAttributeData(data);
},
// 更新角色单个属性
setRoleAttribute: function setRoleAttribute(key, value) {
if (this.role_vo) {
this.role_vo.setRoleAttribute(key, value);
}
},
// 特权礼包
setPrivilegeData: function setPrivilegeData(data_list) {
this.privilege_data = data_list;
},
getPrivilegeData: function getPrivilegeData() {
return this.privilege_data;
},
/**
* 监测当前的特权状态
* @param {*} id 1快速作战特权 2远航普通特权 3远航高级特权 4元素聖殿特權 5特權靈窩
*/
checkPrivilegeStatus: function checkPrivilegeStatus(id) {
var status = false;
if (this.privilege_data) {
for (var index = 0; index < this.privilege_data.length; index++) {
var element = this.privilege_data[index];
if (element.id == id) {
status = element.status == 1;
break;
}
}
}
return status;
},
// 1快速作戰特權 2遠航普通特權 3遠航高級特權 4元素聖殿特權 5特權靈窩
getPrivilegeDataById: function getPrivilegeDataById(id) {
if (this.privilege_data) {
for (var i in this.privilege_data) {
if (this.privilege_data[i].id == id) {
return this.privilege_data[i];
}
}
}
},
getRoleVo: function getRoleVo() {
return this.role_vo;
},
// 设置开服天数
setOpenSrvDay: function setOpenSrvDay(day) {
this.open_srv_day = day;
this.setRoleAttribute("open_day", day);
gcore.GlobalEvent.fire(EventId.OPEN_SRV_DAY, day);
},
getOpenSrvDay: function getOpenSrvDay() {
return this.open_srv_day;
},
//是否在本服里面
isTheSame: function isTheSame(srv_id) {
if (this.serverList && srv_id) {
return this.serverList[srv_id] != null;
}
return true;
},
// --活动资产信息改变
initRoleActionAssetsData: function initRoleActionAssetsData(holiday_assets, is_update) {
if (!this.role_vo) {
var RoleVo = require("role_vo");
this.role_vo = new RoleVo();
}
if (holiday_assets) {
this.role_vo.initActionAssetsData(holiday_assets, is_update);
}
},
//--獲取徽章點數對應的名字
getHonorPointName: function getHonorPointName(pos) {
var point = pos || 0;
var list = game.configs.room_feat_data.data_honor_title_info;
if (!list) return;
list.sort(function (a, b) {
return a.min < b.min;
});
var count = list.length;
for (var i in list) {
var v = list[i];
if (point >= v.min && point <= v.max) {
if (i >= count - 1) {
return [v.name, v.res_id, -1];
} else {
return [v.name, v.res_id, list[i + 1].min, list[i + 1].name, list[i + 1].res_id];
}
}
}
if (Utils.next(list) != null) {
return [list[count - 1].name, list[count - 1].res_id, -1];
}
}
});
cc._RF.pop();