miduo_client/Assets/ManagedResources/~Lua/Modules/Battle/Test/View/SkillSetView.lua

152 lines
6.7 KiB
Lua

-- 全局设置界面
SkillSetView = {}
local MonsterViewConfig = ConfigManager.GetConfig(ConfigName.MonsterViewConfig)
local MonsterConfig = ConfigManager.GetConfig(ConfigName.MonsterConfig)
local RoleConfig = ConfigManager.GetConfig(ConfigName.RoleConfig)
local HeroConfig = ConfigManager.GetConfig(ConfigName.HeroConfig)
local SkillLogicConfig = ConfigManager.GetConfig(ConfigName.SkillLogicConfig)
-- 初始化角色设置界面
function SkillSetView:Init(root)
self.gameObject = root
self.rt = Util.GetGameObject(root, "role/time1/input"):GetComponent("InputField")
self.rt2 = Util.GetGameObject(root, "role/time2/input"):GetComponent("InputField")
self.nt1 = Util.GetGameObject(root, "normal/time1/input"):GetComponent("InputField")
self.nt2 = Util.GetGameObject(root, "normal/time2/input"):GetComponent("InputField")
self.nt3 = Util.GetGameObject(root, "normal/time3/input"):GetComponent("InputField")
self.nt4 = Util.GetGameObject(root, "normal/time4/input"):GetComponent("InputField")
self.nt5 = Util.GetGameObject(root, "normal/time5/input"):GetComponent("InputField")
self.nt6 = Util.GetGameObject(root, "normal/time6/input"):GetComponent("InputField")
self.nt7 = Util.GetGameObject(root, "normal/time7/input"):GetComponent("InputField")
self.nt8 = Util.GetGameObject(root, "normal/time8/input"):GetComponent("InputField")
self.nt9 = Util.GetGameObject(root, "normal/time9/input"):GetComponent("InputField")
self.st1 = Util.GetGameObject(root, "special/time1/input"):GetComponent("InputField")
self.st2 = Util.GetGameObject(root, "special/time2/input"):GetComponent("InputField")
self.st3 = Util.GetGameObject(root, "special/time3/input"):GetComponent("InputField")
self.st4 = Util.GetGameObject(root, "special/time4/input"):GetComponent("InputField")
self.st5 = Util.GetGameObject(root, "special/time5/input"):GetComponent("InputField")
self.st6 = Util.GetGameObject(root, "special/time6/input"):GetComponent("InputField")
self.st7 = Util.GetGameObject(root, "special/time7/input"):GetComponent("InputField")
self.st8 = Util.GetGameObject(root, "special/time8/input"):GetComponent("InputField")
self.st9 = Util.GetGameObject(root, "special/time9/input"):GetComponent("InputField")
self.btnComfirm = Util.GetGameObject(root, "Root/confirm")
self.btnCancel = Util.GetGameObject(root, "Root/cancel")
--
Util.AddOnceClick(self.btnComfirm, function()
self:ApplyData()
end)
--
Util.AddOnceClick(self.btnCancel, function()
self:Close()
end)
end
function SkillSetView:Show(camp, pos, BattleView)
self.gameObject:SetActive(true)
self.camp = camp
self.pos = pos
self.role = RoleManager.GetRole(camp, pos)
self.roleView = BattleView.GetRoleView(self.role)
local nSkillId = self.role.roleData.skill[1]
local sSkillId = self.role.roleData.superSkill[1]
self.rt.text = self.roleView.SkillCaster.actionTime*1000
self.rt2.text = self.roleView.SkillCaster.soundTime*1000
local nCId = BattleManager.GetCombatIdBySkin(nSkillId, self.role.roleData.skinId)
local nCombat = BattleManager.GetSkillCombat(nCId)
self.nt1.text = nCombat.BeforeEffectDelay
self.nt2.text = nCombat.KeyFrame
self.nt3.text = nCombat.BulletTime
self.nt4.text = nCombat.DamageDelay
self.nt5.text = nCombat.SkillDuration
self.nt6.text = nCombat.SkillNumber
self.nt7.text = nCombat.AttackDisplaceTime
self.nt8.text = nCombat.AttackDisplaceBackTime
self.nt9.text = nCombat.AttackDisplacement
local sCId = BattleManager.GetCombatIdBySkin(sSkillId, self.role.roleData.skinId)
local sCombat = BattleManager.GetSkillCombat(sCId)
self.st1.text = sCombat.BeforeEffectDelay
self.st2.text = sCombat.KeyFrame
self.st3.text = sCombat.BulletTime
self.st4.text = sCombat.DamageDelay
self.st5.text = sCombat.SkillDuration
self.st6.text = sCombat.SkillNumber
self.st7.text = sCombat.AttackDisplaceTime
self.st8.text = sCombat.AttackDisplaceBackTime
self.st9.text = sCombat.SkillNumber
end
-- 应用数据
function SkillSetView:ApplyData()
local nSkillId = self.role.roleData.skill[1]
local sSkillId = self.role.roleData.superSkill[1]
self.roleView.SkillCaster.actionTime = (tonumber(self.rt.text)or 0)/1000
self.roleView.SkillCaster.soundTime = (tonumber(self.rt2.text)or 0)/1000
local ncId = BattleManager.GetCombatIdBySkin(nSkillId, self.role.roleData.skinId)
local nCombat = BattleManager.GetSkillCombat(ncId)
local nBeforeEffectDelay = tonumber(self.nt1.text) or 0
local nKeyFrame = tonumber(self.nt2.text) or 0
local nBulletTime = tonumber(self.nt3.text) or 0
local nDamageDelay = tonumber(self.nt4.text) or 0
local nSkillDuration = tonumber(self.nt5.text) or 0
local nSkillNumber = tonumber(self.nt6.text) or 0
local AttackDisplaceTime = tonumber(self.nt7.text) or 0
local AttackDisplaceBackTime = tonumber(self.nt8.text) or 0
local AttackDisplacement = tonumber(self.nt9.text) or 2
nCombat.BulletTime = nBulletTime
nCombat.KeyFrame = nKeyFrame
nCombat.BeforeEffectDelay = nBeforeEffectDelay
nCombat.DamageDelay = nDamageDelay
nCombat.AttackDisplaceTime = AttackDisplaceTime
nCombat.AttackDisplaceBackTime = AttackDisplaceBackTime
nCombat.AttackDisplacement = AttackDisplacement
BattleManager.SetSkillCombat(ncId, nCombat)
self.role.skill[2] = nKeyFrame/1000
self.role.skill[3] = nSkillDuration/1000
self.role.skill[4] = nSkillNumber
local scId = BattleManager.GetCombatIdBySkin(sSkillId, self.role.roleData.skinId)
local sCombat = BattleManager.GetSkillCombat(scId)
local sBeforeEffectDelay = tonumber(self.st1.text) or 0
local sKeyFrame = tonumber(self.st2.text) or 0
local sBulletTime = tonumber(self.st3.text) or 0
local sDamageDelay = tonumber(self.st4.text) or 0
local sSkillDuration = tonumber(self.st5.text) or 0
local sSkillNumber = tonumber(self.st6.text) or 0
local sAttackDisplaceTime = tonumber(self.st7.text) or 0
local sAttackDisplaceBackTime = tonumber(self.st8.text) or 0
local sAttackDisplacement = tonumber(self.st9.text) or 2
sCombat.BulletTime = sBulletTime
sCombat.KeyFrame = sKeyFrame
sCombat.BeforeEffectDelay = sBeforeEffectDelay
sCombat.DamageDelay = sDamageDelay
sCombat.AttackDisplaceTime = sAttackDisplaceTime
sCombat.AttackDisplaceBackTime = sAttackDisplaceBackTime
sCombat.AttackDisplacement = sAttackDisplacement
BattleManager.SetSkillCombat(scId, sCombat)
self.role.superSkill[2] = sKeyFrame/1000
self.role.superSkill[3] = sSkillDuration/1000
self.role.superSkill[4] = sSkillNumber
PopupTipPanel.ShowTip(Language[10212])
end
-- 关闭界面
function SkillSetView:Close()
self.gameObject:SetActive(false)
end