--[[
|
|
服务器下发的角色信息结构体
|
|
]]
|
|
RoleVo = RoleVo or BaseClass(BaseVo)
|
|
local RoleVo = RoleVo
|
|
local UserMsgAdapter_ReadFmt = UserMsgAdapter.ReadFmt
|
|
local UserMsgAdapter_ReadFmt2 = UserMsgAdapter.ReadFmt2
|
|
RoleVo.PK_STATUS = {
|
|
Peace = 0, --和平
|
|
Force = 1, --强制
|
|
All = 2, --全体
|
|
GUILD = 3, --社团模式
|
|
Local = 4, --本服(只能攻击其它服)
|
|
ForcePeace = 9, --强制和平
|
|
}
|
|
|
|
RoleVo.Act_Flag = {
|
|
GUILD_WAR_EQUIP_CAMION= 1, -- 本服团战
|
|
CONVOY_ROB= 2, -- 护送抢夺“劫”字形象
|
|
KF_TOWN_WAR_SHIP= 3, -- 跨服城战船形象
|
|
RAGEWAR_TOP= 5, -- 狂战领域积分第一标识
|
|
MELEE_GRADE= 6, -- 大乱斗段位形象
|
|
CHARM_BEACH= 7, -- 魅力海滩休闲状态
|
|
FISHING= 8, -- 钓鱼状态
|
|
FISHING_ACT= 12, -- 钓鱼动作id
|
|
GUILD_WAR_EQUIP_BLUNT= 13, -- 公会争霸冲车形象
|
|
CS_1VN_SIDE= 14, -- 跨服1vn身份 (1擂主)
|
|
CHARM_BEACH_CHAIR= 15, -- 魅力海滩座椅交互(场景物件id)
|
|
CONVOY= 16, -- 护送形象
|
|
MATE_RHYTHM_MASTER= 17, -- 羁绊-节奏大师-跳舞标识
|
|
MATE_CATCH_BALL= 18, -- 羁绊-抛接球-玩球标识
|
|
MAX_HURT= 19, -- BOSS攻击最高伤害
|
|
BOSS_TIRED= 20, -- BOSS疲劳值
|
|
REWARD_BOSS_SUPPORT= 21, -- 协助标识
|
|
DUNGEON_GOD_DOUBLE_REWARD= 22, -- 唤神副本双倍奖励
|
|
GUILD_CSGR= 23, -- 社团本国团战
|
|
}
|
|
|
|
function RoleVo:__init()
|
|
end
|
|
|
|
function RoleVo:__defineVar()
|
|
return {
|
|
_class_type = self,
|
|
--_cid = self._id,
|
|
_iid = _in_obj_ins_id,
|
|
_use_delete_method = false,
|
|
vo_type = SceneBaseType.Role,
|
|
role_id = 0, --用户ID(int32)
|
|
plat_name = "" , --平台名(string)
|
|
server_id = 0 , --服ID(int16)
|
|
name = "", --玩家名(string)
|
|
sex = 0, --性别(int8) 男1女2
|
|
level = 100 , --等级(int16)
|
|
pos_x = 0, --X像素坐标(int16)
|
|
pos_y = 0, --Y像素坐标(int16)
|
|
dsgt_id = 0, --用户称号ID(int32)
|
|
grade_id = 0, --爵位id
|
|
--dsgt_name = "", --用户称号名称
|
|
|
|
hp = 100, --当前hp(int32)
|
|
maxHp = 100, --最大hp(int32)
|
|
|
|
move_speed = 160, --玩家速度(int16)
|
|
|
|
weapon = 0 , -- int:32 武器
|
|
cloth = 0, -- int:32 装备
|
|
|
|
career = 0, --角色(int8) --神将=1 、天君=2、罗刹=3
|
|
realm = 0, --国家(int8)
|
|
warGroup = 0, --战斗分组(int8)
|
|
|
|
total_title = 0, --称号总数
|
|
title_list = {}, --称号列表
|
|
|
|
-- horse_id = 801020100, --坐骑ID(int32),前期任务之类的飞行
|
|
is_ride = 0, -- 是否骑乘状态,0非,1是
|
|
horse_id = 0, --坐骑ID(int32),前期任务之类的飞行
|
|
pet_id = 0, -- 宠物ID
|
|
pet_status = 0, -- 宠物标志位0隐藏1显示
|
|
pk_status = 1, --PK状态(int8)
|
|
imageId = 0, --玩家形象(变身形象)(int32)
|
|
|
|
vip_flag = 0, --Vip标识(int8)
|
|
guild_id = 0, --社团ID(int32)
|
|
guild_name = "", --社团名称(string)
|
|
position = 0, --社团职位(int8)
|
|
|
|
hide_flag = 0 , --是否不可见(int8)
|
|
ghost_mode = 0, --幽灵状态(int8)
|
|
fighting = 0, --战斗力(int32)
|
|
dance_status = 0, --跳舞状态(int8) 0取消跳舞 1跳舞中
|
|
boss_flag = 0, --是否boss归属 0否 1是
|
|
team_id = 0, --队伍id 32
|
|
team_job = 0, --队伍职位(0 无 1队长 2队员)
|
|
|
|
flag_state = 0, --旗子标识 0标示无 1红色旗子
|
|
prePoseState = PoseState.STAND,
|
|
poseState = PoseState.STAND,
|
|
battle_title = 0, --战场头衔(天空|旗子站)
|
|
sky_flags = {}, --天空战场旗子
|
|
state_type = 0, --int:8 状态类型(0:无 1:补魔 2:被补魔 3:自我补魔)
|
|
weapon_effect = 0, --装备附魔
|
|
birth_angle = 270, --出生角度 水平向右为0 逆时针一圈为360度
|
|
show_base_info_only = false, --nameBoard只显示名字和血条
|
|
--wing_id = 0, --翅膀
|
|
safe_area_state = 0, --1角色处于安全区域状态 2角色处于非安全区域状态 3角色切场景进入安全区域状态
|
|
hatred = 0, --罪恶值
|
|
is_marriage = 0, --婚姻状态(0单身 1恋爱 2已婚)
|
|
wedding_state_flags = 0, --婚礼状态标识
|
|
parade_state_flags = 0, --巡游状态标识
|
|
marriage_id = 0, --伴侣id
|
|
marriage_name = "", --伴侣名字
|
|
sprite_id = 0, --小精灵id
|
|
baby_id = 0, --宝宝id
|
|
child_follow_status = 0, --宝宝标志位0隐藏1显示
|
|
escort_state = 0, --护送id
|
|
protect_time = 0, --保护时间
|
|
date_role_id = 0,
|
|
pokemon_id = 0, --宠物id
|
|
pokemon_star = 0, --宠物阶数
|
|
activity_flags = {}, --活动标识
|
|
casual_state_flags = 0, --海滩休闲
|
|
|
|
is_fishing_flag = 0, --钓鱼状态标识
|
|
|
|
deity_id = 0,
|
|
turn = 0, --转生
|
|
|
|
mate_name = "", --羁绊相关
|
|
mate_title = "", --羁绊相关
|
|
mate_lv = 0, --羁绊称号显示等级
|
|
guild_contribute = 0, --社团贡献
|
|
honor = 0, --名望券
|
|
pet_wing_id = 0,
|
|
pet_weapon_id = 0,
|
|
pet_farmour = 0,
|
|
action_energy = 0, --当前行动能量
|
|
max_action_energy = 0, --行动能量最大值
|
|
|
|
god_id = 0, --式神id
|
|
god_hp = 0, --式神血量
|
|
god_max_hp = 0, --式神血量上限
|
|
|
|
money_boss_protect_time = 0, --赏金boss保护时间戳
|
|
deserted_boss_protect_time = 0, --星域boss保护时间戳
|
|
}
|
|
|
|
end
|
|
|
|
function RoleVo:ResetData()
|
|
self.horse_id = 0
|
|
self.money_boss_protect_time = 0
|
|
self.deserted_boss_protect_time = 0
|
|
end
|
|
|
|
|
|
--[[
|
|
int:64 用户ID
|
|
string 平台(显示用)
|
|
int:16 第几服(显示用)
|
|
string 服务器名称(显示用)
|
|
figure 形象
|
|
int:16 X坐标
|
|
int:16 Y坐标
|
|
int:32 hp
|
|
int:32 hp_lim
|
|
int:16 玩家速度
|
|
]]
|
|
|
|
function RoleVo:ReadFromProtocal( )
|
|
self.role_id,
|
|
self.plat_name,
|
|
self.server_id,
|
|
self.server_num = UserMsgAdapter_ReadFmt("lshh")
|
|
|
|
FigureProtoVo.ReadFmt(self)
|
|
|
|
local team_id
|
|
local len
|
|
self.pos_x,
|
|
self.pos_y,
|
|
self.hp,
|
|
self.maxHp,
|
|
self.move_speed,
|
|
-- self.att_speed, --攻击速度
|
|
self.hide_flag, --是否不可见(int8)
|
|
self.ghost_mode, --幽灵状态(int8)
|
|
self.warGroup, --战斗分组
|
|
self.boss_flag,
|
|
team_id,
|
|
self.team_job,
|
|
self.pk_status,
|
|
self.fighting,
|
|
self.is_ride_wait_delete,--待删参数,放figure了
|
|
self.horse_id,
|
|
self.hatred,
|
|
self.pet_id,
|
|
self.pet_status,
|
|
self.protect_time,
|
|
self.date_role_id,
|
|
len = UserMsgAdapter_ReadFmt2("hhllhcclclccicihicilh")
|
|
|
|
self.activity_flags = {}
|
|
for i = 1, len do
|
|
local obj = {}
|
|
obj.key = UserMsgAdapter_ReadFmt("c")
|
|
obj.value = UserMsgAdapter_ReadFmt("l")
|
|
table.insert(self.activity_flags, obj)
|
|
end
|
|
|
|
self.mate_name = UserMsgAdapter_ReadFmt("s")--羁绊对象
|
|
self.mate_title = UserMsgAdapter_ReadFmt("s")--羁绊称号
|
|
self.dance_status = UserMsgAdapter_ReadFmt("c")--跳舞状态
|
|
self.mate_lv = UserMsgAdapter_ReadFmt("c")--羁绊称号显示等级
|
|
self.god_id = UserMsgAdapter_ReadFmt("h") --式神id
|
|
self.god_hp = UserMsgAdapter_ReadFmt("l")--式神血量
|
|
self.god_max_hp = UserMsgAdapter_ReadFmt("l")--式神血量上限
|
|
|
|
self.money_boss_protect_time = UserMsgAdapter_ReadFmt("i")--赏金boss保护时间戳
|
|
self.deserted_boss_protect_time = UserMsgAdapter_ReadFmt("i")--星域boss保护时间戳
|
|
|
|
-- print("self.pet_status=",self.pet_status)
|
|
-- print("protect_time=",self.protect_time)
|
|
-- print("date_role_id=",self.date_role_id,self.name)
|
|
-- print("escort_state=", self.escort_state)
|
|
-- print("===self.horse_id,self.hatred",self.horse_id,self.hatred,self.pet_id,self.name)
|
|
-- print("战斗分组------------=", team_id,self.name, self.warGroup, self.pos_x, self.pos_y, self.hp, self.maxHp, self.ghost_mode)
|
|
self:ChangeVar("team_id", team_id)
|
|
self:ChangeVar("mate_title", self.mate_title)
|
|
-- print("婚姻", self.is_marriage, self.marriage_id, self.marriage_name)
|
|
-- print("boss_flag", self.boss_flag)
|
|
|
|
-------------------------
|
|
--进阶部分
|
|
self:RefreshFosterData()
|
|
--进阶部分
|
|
-------------------------
|
|
end
|
|
--[[
|
|
int:32 ID
|
|
string 平台(显示用)
|
|
int:16 第几服(显示用)
|
|
figure 形象
|
|
int:16 X坐标
|
|
int:16 Y坐标
|
|
int:32 hp
|
|
int:32 hp_lim
|
|
int:16 速度
|
|
int:16 攻击速度
|
|
int:8 是否隐身(0否,1是)
|
|
int:8 是否幽灵(0否, 1是)
|
|
int:16 分组id
|
|
]]
|
|
function RoleVo:ReadFakeProtacal()
|
|
self.role_id,
|
|
self.plat_name,
|
|
self.server_id = UserMsgAdapter_ReadFmt("ish")
|
|
|
|
FigureProtoVo.ReadFmt(self)
|
|
|
|
self.pos_x,
|
|
self.pos_y,
|
|
self.hp,
|
|
self.maxHp,
|
|
self.move_speed,
|
|
-- self.att_speed, --攻击速度
|
|
self.hide_flag, --是否不可见(int8)
|
|
self.ghost_mode, --幽灵状态(int8)
|
|
self.warGroup,
|
|
self.fighting,
|
|
self.dance_status,
|
|
self.server_num = UserMsgAdapter_ReadFmt2("hhllhcclich") --战斗分组
|
|
print("假人数据------------=",self.name,self.role_id, self.pos_x, self.pos_y, self.hp, self.maxHp, self.ghost_mode, self.warGroup)
|
|
self.is_fake_role = true --是否假人 纯服务端控制的假人
|
|
|
|
if SceneManager:getInstance():IsGodDungeon() then
|
|
self.name = GetCSLongName(self.name,self.server_num)
|
|
end
|
|
-------------------------
|
|
--主角假人,暂时先用名字判断
|
|
if self.name == RoleManager.Instance.mainRoleInfo.name then
|
|
self.is_fake_main_role = true
|
|
end
|
|
-------------------------
|
|
--随机名字
|
|
if self.name == "" then
|
|
self.name = LoginModel:getInstance():GetRandomRoleName(self.sex, true)
|
|
end
|
|
|
|
-------------------------
|
|
--进阶部分
|
|
self:RefreshFosterData()
|
|
--进阶部分
|
|
-------------------------
|
|
end
|
|
|
|
--处理进阶部分数据
|
|
function RoleVo:RefreshFosterData( )
|
|
local sprite_res_id = 0--法宝
|
|
local pet_res_id = 0--AI娘
|
|
local pet_wing_id = 0--ai娘翅膀
|
|
local horse_id = 0--ai娘翅膀
|
|
local wing_id = 0
|
|
local pet_weapon_id = 0
|
|
local pet_farmour = 0
|
|
|
|
local function get_foster_skin( type_id )
|
|
for k,v in pairs(self.foster_skin_list) do
|
|
if v.type_id == type_id and v.skin_id > 0 then
|
|
return v.skin_id
|
|
end
|
|
end
|
|
|
|
for k,v in pairs(self.foster_sub_skin_list) do
|
|
if v.type_id == type_id and v.skin_id > 0 then
|
|
return v.skin_id
|
|
end
|
|
end
|
|
end
|
|
for k,v in pairs(self.foster_list) do
|
|
if v.type_id == FosterConst.ModuleId.FPearl then
|
|
sprite_res_id = get_foster_skin(v.type_id) or FosterModel:GetInstance():GetModuleResIdByStage(v.type_id,v.stage_id)
|
|
elseif v.type_id == FosterConst.ModuleId.FJarvis then
|
|
pet_res_id = get_foster_skin(v.type_id) or FosterModel:GetInstance():GetModuleResIdByStage(v.type_id,v.stage_id)
|
|
elseif v.type_id == FosterConst.ModuleId.FCloud then
|
|
pet_wing_id = get_foster_skin(v.type_id) or FosterModel:GetInstance():GetModuleResIdByStage(v.type_id,v.stage_id)
|
|
elseif v.type_id == FosterConst.ModuleId.FHorse then
|
|
horse_id = get_foster_skin(v.type_id) or FosterModel:GetInstance():GetModuleResIdByStage(v.type_id,v.stage_id)
|
|
elseif v.type_id == FosterConst.ModuleId.FWing then
|
|
wing_id = get_foster_skin(v.type_id) or FosterModel:GetInstance():GetModuleResIdByStage(v.type_id,v.stage_id)
|
|
elseif v.type_id == FosterConst.ModuleId.FGun then
|
|
pet_weapon_id = get_foster_skin(v.type_id) or FosterModel:GetInstance():GetModuleResIdByStage(v.type_id,v.stage_id)
|
|
elseif v.type_id == FosterConst.ModuleId.FArmour then
|
|
pet_farmour = get_foster_skin(v.type_id) or FosterModel:GetInstance():GetModuleResIdByStage(v.type_id,v.stage_id)
|
|
end
|
|
end
|
|
self:ChangeVar("sprite_id",sprite_res_id)
|
|
self:ChangeVar("pet_id",pet_res_id)
|
|
self:ChangeVar("pet_wing_id",pet_wing_id)
|
|
self:ChangeVar("horse_id",horse_id)
|
|
self:ChangeVar("wing_id",wing_id)
|
|
self:ChangeVar("pet_weapon_id",pet_weapon_id)
|
|
self:ChangeVar("pet_farmour",pet_farmour)
|
|
self:ChangeVar("is_ride",self.is_ride)
|
|
end
|
|
|
|
--取等级模型id列表的衣服id
|
|
--scene_obj_type 是否是场景对象 还是ui对象
|
|
function RoleVo:GetRoleClotheId(scene_obj_type)
|
|
if scene_obj_type and self:CheckIsGod() then
|
|
local cfg = Config.God[self.god_id]
|
|
if cfg then
|
|
return cfg.resource
|
|
end
|
|
end
|
|
|
|
local model_res_list = self.level_model_list
|
|
if model_res_list then
|
|
for k,v in ipairs(model_res_list) do
|
|
if v.part_pos == FashionPartPos.Clothe then
|
|
return v.level_model_id
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
--取时装衣服贴图id
|
|
function RoleVo:GetRoleClotheTextureId(scene_obj_type)
|
|
-- if RoleVo.IsModelLimit(self) then
|
|
-- return
|
|
-- end
|
|
|
|
-- if scene_obj_type and self:CheckIsGod() then
|
|
-- return nil
|
|
-- end
|
|
local model_res_list = self.fashion_model_list
|
|
if model_res_list then
|
|
for k,v in ipairs(model_res_list) do
|
|
if v.part_pos == FashionModel.FashionType.CLOTHES then
|
|
--需要折算返回资源id
|
|
local id = v.fashion_model_id
|
|
if id < 1000 then
|
|
id = id + self.career * 1000
|
|
end
|
|
if v.fashion_chartlet_id > 1 then--配色大于1的要多连接一个配色
|
|
id = id .. v.fashion_chartlet_id
|
|
end
|
|
return tonumber(id), 0
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
--取时装头饰贴图id
|
|
--block是否屏蔽时装头饰
|
|
--目前来看 好像头发必须有 所以上面的block无效 总不能光头吴克吧
|
|
--发饰 也就是帽子在下面获取
|
|
function RoleVo:GetRoleHeadId(block)
|
|
local model_res_list
|
|
if not block then
|
|
model_res_list = not block and self.fashion_model_list or nil
|
|
if model_res_list then
|
|
for k,v in ipairs(model_res_list) do
|
|
if v.part_pos == FashionModel.FashionType.HEAD then
|
|
--需要折算返回资源id
|
|
local id = v.fashion_model_id
|
|
if id < 1000 then
|
|
id = id + self.career * 1000
|
|
end
|
|
if v.fashion_chartlet_id > 1 then--配色要多连接一个后缀
|
|
id = id .. v.fashion_chartlet_id
|
|
end
|
|
return tonumber(id)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
--没找到时装就用默认头发
|
|
model_res_list = self.level_model_list
|
|
if model_res_list then
|
|
for k,v in ipairs(model_res_list) do
|
|
if v.part_pos == FashionPartPos.Head then
|
|
return v.level_model_id
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
function RoleVo:GetRoleWingId( block )
|
|
-- if RoleVo.IsModelLimit(self) then
|
|
-- return
|
|
-- end
|
|
--珍宝
|
|
if self.foster_skin_list then
|
|
for k,v in pairs(self.foster_skin_list) do
|
|
if v.type_id == FosterConst.ModuleId.FWing and v.skin_id and (v.skin_id > 0) then
|
|
return v.skin_id
|
|
end
|
|
end
|
|
end
|
|
|
|
--时装
|
|
if self.fashion_model_list then
|
|
for k,v in ipairs(self.fashion_model_list) do
|
|
if v.part_pos == FashionModel.FashionType.WING then
|
|
return v.fashion_model_id
|
|
end
|
|
end
|
|
end
|
|
|
|
--基础进阶
|
|
if self.foster_list then
|
|
for k,v in pairs(self.foster_list) do
|
|
if v.type_id == FosterConst.ModuleId.FWing then
|
|
self.wing_id = FosterModel:GetInstance():GetModuleResIdByStage(v.type_id,v.stage_id)
|
|
end
|
|
end
|
|
end
|
|
|
|
--进阶
|
|
if self.wing_id and self.wing_id > 0 then
|
|
return self.wing_id
|
|
else
|
|
if self.level_model_list then
|
|
for k,v in ipairs(self.level_model_list) do
|
|
if v.part_pos == FashionPartPos.wing then
|
|
return v.level_model_id
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
--取时装发饰贴图id
|
|
--block是否屏蔽时装=发饰
|
|
function RoleVo:GetRoleHatId(block)
|
|
-- if RoleVo.IsModelLimit(self) then
|
|
-- return
|
|
-- end
|
|
local model_res_list = not block and self.fashion_model_list or nil
|
|
if model_res_list then
|
|
for k,v in ipairs(model_res_list) do
|
|
if v.part_pos == FashionModel.FashionType.HAT then
|
|
return v.fashion_model_id
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
--取足迹的id
|
|
function RoleVo:GetRoleFootmarkId()
|
|
do return end--还没足迹 时装列表里面没有你要的东西 别来这遍历了
|
|
if RoleVo.IsModelLimit(self) then
|
|
return
|
|
end
|
|
|
|
local model_res_list = self.fashion_model_list
|
|
if model_res_list then
|
|
for k,v in ipairs(model_res_list) do
|
|
if v.part_pos == FashionPartPos.Footmark then
|
|
return v.fashion_model_id
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
--block: 1屏蔽时装 2 屏蔽神兵
|
|
--先去时装模型列表的 再取等级模型id列表的武器id
|
|
function RoleVo:GetWeaponClotheId(scene_obj_type,block)
|
|
local model_res_list
|
|
|
|
if self.role_id == RoleManager:getInstance():GetMainRoleId() then
|
|
if FosterModel:GetInstance():GetShowHideType( FosterConst.ModuleId.FWeapon ) then
|
|
if FosterConst.DefaultWeaponId[RoleManager.Instance.mainRoleInfo.career] then
|
|
return FosterConst.DefaultWeaponId[RoleManager.Instance.mainRoleInfo.career]
|
|
end
|
|
end
|
|
end
|
|
|
|
--皮肤
|
|
if self.foster_sub_skin_list then
|
|
for k,v in pairs(self.foster_sub_skin_list) do
|
|
if v.type_id == FosterConst.ModuleId.FWeapon and v.skin_id and (v.skin_id > 0) then
|
|
return v.skin_id
|
|
end
|
|
end
|
|
end
|
|
|
|
--珍宝
|
|
if self.foster_skin_list then
|
|
for k,v in pairs(self.foster_skin_list) do
|
|
if v.type_id == FosterConst.ModuleId.FWeapon and v.skin_id and (v.skin_id > 0) then
|
|
return v.skin_id
|
|
end
|
|
end
|
|
end
|
|
|
|
--时装
|
|
if not block then
|
|
model_res_list = (not block or block ~= 2) and self.fashion_model_list or nil
|
|
if model_res_list then
|
|
for k,v in ipairs(model_res_list) do
|
|
if v.part_pos == FashionModel.FashionType.WEAPON then
|
|
--需要折算返回资源id
|
|
local id = v.fashion_model_id
|
|
if id < 1000 then
|
|
id = id + self.career * 1000
|
|
end
|
|
return tonumber(id)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
--进阶
|
|
model_res_list = self.level_model_list
|
|
if model_res_list then
|
|
for k,v in ipairs(model_res_list) do
|
|
if v.part_pos == FashionPartPos.Weapon then
|
|
return v.level_model_id
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
--更新等级模型数据
|
|
function RoleVo:UpdateLevelModelList(part_pos, value)
|
|
local model_res_list = self.level_model_list
|
|
if model_res_list then
|
|
for k,v in ipairs(model_res_list) do
|
|
if v.part_pos == part_pos then
|
|
v.level_model_id = tonumber(value)
|
|
elseif v.part_pos == part_pos then
|
|
v.level_model_id = tonumber(value)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
function RoleVo:CheckIsGod()
|
|
return self.god_id > 0
|
|
end
|
|
|
|
--获取相应标志
|
|
-- 活动类型 17羁绊小游戏
|
|
function RoleVo:GetFlagsByKey(key)
|
|
local value = 0
|
|
if self.activity_flags then
|
|
for i,v in pairs(self.activity_flags) do
|
|
if v.key == key then
|
|
value = v.value
|
|
break
|
|
end
|
|
end
|
|
end
|
|
return value
|
|
end
|
|
|
|
-- 判断活动标志是否存在
|
|
function RoleVo:ExitFlag(key)
|
|
local bool = false
|
|
if self.activity_flags then
|
|
for i,v in pairs(self.activity_flags) do
|
|
if v.key == key then
|
|
bool = true
|
|
break
|
|
end
|
|
end
|
|
end
|
|
return bool
|
|
end
|
|
|
|
function RoleVo:__delete()
|
|
end
|
|
|
|
--外观限制,部分多人玩法只需显示基础外观
|
|
function RoleVo:IsModelLimit( )
|
|
if self.role_id == RoleManager:getInstance():GetMainRoleId() then
|
|
return false
|
|
end
|
|
if SceneManager then
|
|
if SceneManager:getInstance():IsFullEffectScene() then
|
|
return false
|
|
end
|
|
if SceneManager:getInstance():IsModelLimited() then
|
|
return true
|
|
end
|
|
end
|
|
return false
|
|
end
|