153 lines
No EOL
4.6 KiB
Lua
153 lines
No EOL
4.6 KiB
Lua
-- 约会小游戏角色对象
|
||
local XWhiteValentineChara = XClass(nil, "XWhiteValentineChara")
|
||
--==========构造函数,初始化,实体操作==========
|
||
--==================
|
||
--构造函数
|
||
--==================
|
||
function XWhiteValentineChara:Ctor(CharaManager, CharaId, CharaData)
|
||
self.CharaManager = CharaManager
|
||
self:InitConfig(CharaId)
|
||
self:RefreshData(CharaData)
|
||
end
|
||
--==================
|
||
--初始化配置
|
||
--==================
|
||
function XWhiteValentineChara:InitConfig(CharaId)
|
||
self:ResetStatus()
|
||
self.Config = XWhiteValentineConfig.GetWhiteValentineCharaByCharaId(CharaId)
|
||
self.AttrCfg = XWhiteValentineConfig.GetWhiteValentineAttrById(self:GetAttrType())
|
||
end
|
||
--==================
|
||
--重置状态
|
||
--==================
|
||
function XWhiteValentineChara:ResetStatus()
|
||
self.Dispatching = false
|
||
self:SetInTeam(false)
|
||
self:SetFinishEventCount(0)
|
||
end
|
||
--==================
|
||
--刷新数据
|
||
--@param CharaData:{int Id //角色ID,long EventEndTime //事件完成时间, int FinishEventCount //完成的事件次数}
|
||
--==================
|
||
function XWhiteValentineChara:RefreshData(CharaData)
|
||
if not CharaData then return end
|
||
self:SetInTeam(true)
|
||
self.Dispatching = CharaData.EventEndTime > 0
|
||
self:SetFinishEventCount(CharaData.FinishEventCount)
|
||
end
|
||
--=================== END =====================
|
||
--=================Get,Set,Check================
|
||
--==================
|
||
--获取游戏ID
|
||
--==================
|
||
function XWhiteValentineChara:GetGameId()
|
||
return self.CharaManager:GetGameId()
|
||
end
|
||
--==================
|
||
--获取角色ID
|
||
--==================
|
||
function XWhiteValentineChara:GetCharaId()
|
||
return self.Config and self.Config.Id
|
||
end
|
||
--==================
|
||
--获取角色名
|
||
--==================
|
||
function XWhiteValentineChara:GetName()
|
||
return self.Config and self.Config.Name
|
||
end
|
||
--==================
|
||
--获取角色图标
|
||
--==================
|
||
function XWhiteValentineChara:GetIconPath()
|
||
return self.Config and self.Config.IconPath
|
||
end
|
||
--==================
|
||
--获取角色属性类型
|
||
--==================
|
||
function XWhiteValentineChara:GetAttrType()
|
||
return self.Config and self.Config.AttrType
|
||
end
|
||
--==================
|
||
--获取角色属性数值
|
||
--==================
|
||
function XWhiteValentineChara:GetAttrValue()
|
||
return self.Config and self.Config.AttrValue
|
||
end
|
||
--==================
|
||
--获取角色属性图标
|
||
--==================
|
||
function XWhiteValentineChara:GetAttrIcon()
|
||
return self.AttrCfg and self.AttrCfg.IconPath
|
||
end
|
||
--==================
|
||
--获取偶遇约会ID
|
||
--==================
|
||
function XWhiteValentineChara:GetEncounterStoryId()
|
||
return self.Config and self.Config.EncounterStoryId
|
||
end
|
||
--==================
|
||
--获取邀约约会ID
|
||
--==================
|
||
function XWhiteValentineChara:GetInviteStoryId()
|
||
return self.Config and self.Config.InviteStoryId
|
||
end
|
||
--==================
|
||
--获取约会故事配置
|
||
--@param storyType:WhiteValentineManager.StoryType 故事类型
|
||
--==================
|
||
function XWhiteValentineChara:GetStoryByStoryType(storyType)
|
||
local storyName = XDataCenter.WhiteValentineManager.StoryTypeName[storyType]
|
||
local storyId = storyName and 0 or -1
|
||
if storyId == -1 then return nil end
|
||
if self["Get" .. storyName .. "StoryId"] then
|
||
storyId = self["Get" .. storyName .. "StoryId"](self)
|
||
end
|
||
local storyCfg = XWhiteValentineConfig.GetWhiteValentineStoryById(storyId)
|
||
return storyCfg
|
||
end
|
||
--==================
|
||
--获取特殊通讯ID
|
||
--==================
|
||
function XWhiteValentineChara:GetCommuId()
|
||
return self.Config and self.Config.CommuId
|
||
end
|
||
--==================
|
||
--获取节省时间百分比
|
||
--==================
|
||
function XWhiteValentineChara:GetCutDownTime()
|
||
return self.Config and self.Config.CutDownTime
|
||
end
|
||
--==================
|
||
--获取增加贡献值奖励百分比
|
||
--==================
|
||
function XWhiteValentineChara:GetContributionBuff()
|
||
return self.Config and self.Config.ContributionBuff
|
||
end
|
||
--==================
|
||
--设置已完成约会数目
|
||
--==================
|
||
function XWhiteValentineChara:SetFinishEventCount(finishEventCount)
|
||
if not finishEventCount then return end
|
||
if finishEventCount < 0 then finishEventCount = 0 end
|
||
self.FinishEventCount = finishEventCount
|
||
end
|
||
--==================
|
||
--获取角色是否已获取
|
||
--==================
|
||
function XWhiteValentineChara:GetInTeam()
|
||
return self.InTeam
|
||
end
|
||
--==================
|
||
--设置角色获取状态
|
||
--==================
|
||
function XWhiteValentineChara:SetInTeam(isInTeam)
|
||
self.InTeam = isInTeam
|
||
end
|
||
--==================
|
||
--获取角色是否已派遣
|
||
--==================
|
||
function XWhiteValentineChara:GetDispatching()
|
||
return self.Dispatching
|
||
end
|
||
--=================== END =====================
|
||
return XWhiteValentineChara |