SamsaraGame/assets/Script/utils/RoleTitlesUtil.js
2025-04-24 17:03:28 +08:00

70 lines
2.3 KiB
JavaScript

let GameDefine = require('../game/GameDefine');
const { default: SKDataUtil } = require('../ts/gear_2.3.4/util/SKDataUtil');
class RoleTitlesUtil{
constructor() {
}
pkgRoleTitle(titleItem,bangName){
let roleTitleInfo = null;
let roleTitles = [];
let tempList = SKDataUtil.clone(GameDefine.RoleTitleList);
roleTitles = tempList.filter((rt) => {
return rt.id == titleItem.titleid;
});
if(roleTitles.length > 0){
roleTitleInfo = roleTitles[0];
roleTitleInfo.type = titleItem.type;
if(roleTitleInfo.type == GameDefine.TitleType.CommonTitle){
//幫會成員
roleTitleInfo.name = bangName + roleTitleInfo.name;
roleTitleInfo.desc = bangName + roleTitleInfo.desc;
}else if(roleTitleInfo.type == GameDefine.TitleType.BroTitle || roleTitleInfo.type == GameDefine.TitleType.CoupleTitle){
//結拜或夫妻,使用自定義稱謂
roleTitleInfo.name = titleItem.value;
}
roleTitleInfo.onLoad = titleItem.onload;
}
return roleTitleInfo;
}
getRoleTitle(titleId,titleVal,bangName){
let tempList = SKDataUtil.clone(GameDefine.RoleTitleList);
let roleTitles = tempList.filter((rt) => {
return rt.id == titleId;
});
if(roleTitles.length > 0){
let roleTitleInfo = roleTitles[0];
if(roleTitleInfo.type == GameDefine.TitleType.CommonTitle){
//幫會成員
roleTitleInfo.name = bangName + roleTitleInfo.name;
roleTitleInfo.desc = bangName + roleTitleInfo.desc;
}else if(roleTitleInfo.type == GameDefine.TitleType.BroTitle || roleTitleInfo.type == GameDefine.TitleType.CoupleTitle){
//結拜或夫妻,使用自定義稱謂
roleTitleInfo.name = titleVal;
}
return roleTitleInfo;
}
return '';
}
}
let instance = null;
module.exports = (()=>{
if(instance==null){
instance = new RoleTitlesUtil();
}
return instance;
})();