PGRData/Script/matrix/xentity/xminigame/whitevalentine2021/XWhiteValentineChara.lua

153 lines
No EOL
4.6 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- 约会小游戏角色对象
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 //角色IDlong 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