153 lines
4.6 KiB
Lua
153 lines
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
|