技能配置优化
parent
b999786cbb
commit
da6bb67d50
|
@ -14468,7 +14468,7 @@ GameObject:
|
|||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &6210025963494768122
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -33730,7 +33730,7 @@ RectTransform:
|
|||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6210025964156221443}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 0.9999203, y: 0.9999203, z: 0.9999203}
|
||||
m_Children:
|
||||
|
|
|
@ -41468,7 +41468,7 @@ GameObject:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 3563477016227428539}
|
||||
- component: {fileID: 4286436596528209178}
|
||||
m_Layer: 0
|
||||
m_Name: Effect_c_fhlh_00021_t3_attack_01
|
||||
m_TagString: Untagged
|
||||
|
@ -41476,21 +41476,26 @@ GameObject:
|
|||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &3563477016227428539
|
||||
Transform:
|
||||
--- !u!224 &4286436596528209178
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3563477016227428538}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: -156, z: 0}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 3563477016696713404}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 100, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!1 &3563477016237562903
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -42540,7 +42545,7 @@ Transform:
|
|||
- {fileID: 3563477016795340358}
|
||||
- {fileID: 3563477016664601596}
|
||||
- {fileID: 3563477015260575634}
|
||||
m_Father: {fileID: 3563477016227428539}
|
||||
m_Father: {fileID: 4286436596528209178}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!95 &3563477016696713405
|
||||
|
|
|
@ -8,16 +8,16 @@ GameObject:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4609111284337690211}
|
||||
- component: {fileID: 8223196740912772729}
|
||||
m_Layer: 0
|
||||
m_Name: RanDeng_effect_xuli
|
||||
m_Name: Effect_c_rd_00019_t3_attack_01
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &4609111284337690211
|
||||
Transform:
|
||||
--- !u!224 &8223196740912772729
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
|
@ -31,6 +31,11 @@ Transform:
|
|||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 100, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!1 &4609111284411172127
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -4976,7 +4981,7 @@ Transform:
|
|||
- {fileID: 4609111285624178068}
|
||||
- {fileID: 4609111286122898003}
|
||||
- {fileID: 4609111284535296277}
|
||||
m_Father: {fileID: 4609111284337690211}
|
||||
m_Father: {fileID: 8223196740912772729}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!95 &4609111284755137597
|
||||
|
@ -9915,10 +9920,6 @@ PrefabInstance:
|
|||
m_Modification:
|
||||
m_TransformParent: {fileID: 4609111284755137598}
|
||||
m_Modifications:
|
||||
- target: {fileID: 100000, guid: a8d981e6e9ff14e47a69bef765fe0d9e, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: uv
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 400000, guid: a8d981e6e9ff14e47a69bef765fe0d9e, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -1
|
||||
|
@ -9963,6 +9964,10 @@ PrefabInstance:
|
|||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: -180
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 100000, guid: a8d981e6e9ff14e47a69bef765fe0d9e, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: uv
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2300000, guid: a8d981e6e9ff14e47a69bef765fe0d9e, type: 3}
|
||||
propertyPath: m_Materials.Array.data[0]
|
||||
value:
|
||||
|
|
|
@ -182,7 +182,7 @@ Transform:
|
|||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 9200496704899650422}
|
||||
m_Father: {fileID: 9200496705766823602}
|
||||
m_Father: {fileID: 6154247390786240857}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &9200496704899650417
|
||||
|
@ -5315,16 +5315,16 @@ GameObject:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 9200496705766823602}
|
||||
- component: {fileID: 6154247390786240857}
|
||||
m_Layer: 0
|
||||
m_Name: RanDeng_effect_fuwen
|
||||
m_Name: Effect_c_rd_00019_t3_attack_02
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &9200496705766823602
|
||||
Transform:
|
||||
--- !u!224 &6154247390786240857
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
|
@ -5338,6 +5338,11 @@ Transform:
|
|||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 100, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!1 &9200496705829401644
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
|
@ -85,16 +85,16 @@ GameObject:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 5682348372808882043}
|
||||
- component: {fileID: 4201402378201248722}
|
||||
m_Layer: 0
|
||||
m_Name: RanDeng_effect_mingzhong
|
||||
m_Name: Effect_c_rd_00019_t3_attack_03
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &5682348372808882043
|
||||
Transform:
|
||||
--- !u!224 &4201402378201248722
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
|
@ -108,6 +108,11 @@ Transform:
|
|||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 100, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!1 &5682348372816619375
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -10259,6 +10264,6 @@ Transform:
|
|||
m_LocalScale: {x: 380, y: 380, z: 380}
|
||||
m_Children:
|
||||
- {fileID: 5682348373509777478}
|
||||
m_Father: {fileID: 5682348372808882043}
|
||||
m_Father: {fileID: 4201402378201248722}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
|
|
|
@ -4910,7 +4910,7 @@ RectTransform:
|
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: -86.19996, y: 209.18019}
|
||||
m_AnchoredPosition: {x: -86.19996, y: 259}
|
||||
m_SizeDelta: {x: 44, y: 30}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &-3656374447544663246
|
||||
|
@ -32015,7 +32015,7 @@ RectTransform:
|
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 10.980068, y: 198.39992}
|
||||
m_AnchoredPosition: {x: 10.980068, y: 248.21973}
|
||||
m_SizeDelta: {x: 115.64, y: 12}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &-4265868372142857695
|
||||
|
@ -63060,7 +63060,7 @@ RectTransform:
|
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 11.100109, y: 163.90001}
|
||||
m_AnchoredPosition: {x: 11.100109, y: 213.71982}
|
||||
m_SizeDelta: {x: 160, y: 50}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!1 &1724097561027959763
|
||||
|
@ -79215,7 +79215,7 @@ RectTransform:
|
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: -86, y: 162.8}
|
||||
m_AnchoredPosition: {x: -86, y: 212.61981}
|
||||
m_SizeDelta: {x: 74, y: 74}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!1 &3183191374453209385
|
||||
|
@ -127841,7 +127841,7 @@ RectTransform:
|
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: -12.9, y: 298.3}
|
||||
m_AnchoredPosition: {x: -12.9, y: 348.1198}
|
||||
m_SizeDelta: {x: 230, y: 134.59}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &-1570150567859167305
|
||||
|
@ -133173,7 +133173,7 @@ RectTransform:
|
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 11.0000725, y: 216.8}
|
||||
m_AnchoredPosition: {x: 11.0000725, y: 266.6198}
|
||||
m_SizeDelta: {x: 116, y: 17}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &8766199146345106176
|
||||
|
|
|
@ -548,6 +548,9 @@ function this.GetSkillCombat(id)
|
|||
SkillDuration = combat.SkillDuration,
|
||||
Orientation = combat.Orientation,
|
||||
EffectType = combat.EffectType ,
|
||||
HitEffectType = combat.HitEffectType,
|
||||
BeforeOffset = combat.BeforeOffset,
|
||||
HitOffset = combat.HitOffset,
|
||||
|
||||
}
|
||||
end
|
||||
|
|
|
@ -33,7 +33,6 @@ function Skill:Init(role, effectData, type, targets, isAdd, isRage) --type 0 异
|
|||
self.teamSkillType = isTeamSkill and floor(effectData[1] / 100) or 0
|
||||
self.id = effectData[1] -- 技能ID
|
||||
self.hitTime = effectData[2] -- 效果命中需要的时间
|
||||
LogGreen("skill init")
|
||||
self.continueTime = effectData[3] -- 命中后伤害持续时间
|
||||
self.attackCount = effectData[4] -- 伤害持续时间内伤害次数
|
||||
|
||||
|
@ -179,7 +178,6 @@ function Skill:Cast(func)
|
|||
if i == 1 then
|
||||
self.targetIsHit[arr[j]] = BattleUtil.CheckIsHit(self.owner, arr[j])
|
||||
end
|
||||
LogGreen(self.hitTime)
|
||||
self:takeEffect(self.owner, arr[j], effects, i, self.hitTime, self)
|
||||
-- if i == 1 then
|
||||
-- self.targetIsHit[arr[j]] = BattleUtil.CheckIsHit(self.owner, arr[j])
|
||||
|
|
|
@ -55,7 +55,7 @@ function RoleView.New(go, role, position, root)
|
|||
role.Event:AddEvent(BattleEventName.RoleDead, instance.OnDead, instance)
|
||||
role.Event:AddEvent(BattleEventName.RoleRealDead, instance.OnRealDead, instance)
|
||||
role.Event:AddEvent(BattleEventName.RoleCDChanged, instance.OnRoleCDChanged, instance)
|
||||
role.Event:AddEvent(BattleEventName.RoleViewBullet, instance.RoleViewBullet, instance)
|
||||
-- role.Event:AddEvent(BattleEventName.RoleViewBullet, instance.RoleViewBullet, instance)
|
||||
role.Event:AddEvent(BattleEventName.RoleRageChange, instance.RoleRageChange, instance)
|
||||
role.Event:AddEvent(BattleEventName.RoleRelive, instance.onRoleRelive, instance)
|
||||
role.Event:AddEvent(BattleEventName.AOE, instance.OnAOE, instance)
|
||||
|
@ -804,7 +804,6 @@ function RoleView:OnSkillCast(skill)
|
|||
self:DelayFunc(self.spAtkTime, function()
|
||||
BattleManager.ResumeBattle()
|
||||
self:CheckFullSceenSkill(combat, skill)
|
||||
self:checkShake(combat)
|
||||
-- 取消高亮
|
||||
self:DelayFunc((combat.KeyFrame + combat.SkillDuration)/1000 + 0.2, function()
|
||||
self.RootPanel.SetRoleHighLight()
|
||||
|
@ -844,7 +843,6 @@ function RoleView:OnSkillCast(skill)
|
|||
self:DelayFunc(self.spAtkTime, function()
|
||||
BattleManager.ResumeBattle()
|
||||
self:CheckFullSceenSkill(combat, skill)
|
||||
self:checkShake(combat)
|
||||
-- 取消高亮
|
||||
self:DelayFunc((combat.KeyFrame + combat.SkillDuration)/1000 + 0.2, function()
|
||||
self.RootPanel.SetRoleHighLight()
|
||||
|
@ -944,9 +942,8 @@ function RoleView:GetEffectSPostion(skill)
|
|||
local targets = skill:GetDirectTargets()
|
||||
local targetPos = targets[1].position
|
||||
|
||||
|
||||
if chooseLimit == 3 then
|
||||
local col = (targetPos % 4) + 1
|
||||
local col = (targetPos-1) % 3 + 1
|
||||
return self.camp == 0 and FullEffectPosition["My_COL_"..col] or FullEffectPosition["Enemy_COL_"..col]
|
||||
else
|
||||
return self.camp == 0 and FullEffectPosition.My_All or FullEffectPosition.Enemy_All
|
||||
|
@ -971,7 +968,7 @@ function RoleView:GetEffectPosition(skill)
|
|||
return targetPos <= 3 and FullEffectPosition.Enemy_Front or FullEffectPosition.Enemy_Behind
|
||||
end
|
||||
elseif chooseLimit == 3 then
|
||||
local col = (targetPos % 4) + 1
|
||||
local col = (targetPos-1) % 3 + 1
|
||||
return targetCamp == 0 and FullEffectPosition["My_COL_"..col] or FullEffectPosition["Enemy_COL_"..col]
|
||||
end
|
||||
end
|
||||
|
@ -980,8 +977,15 @@ function RoleView:CheckFullSceenSkill(combat, skill)
|
|||
if not skill then
|
||||
return
|
||||
end
|
||||
-- 如果弹道时间为0则判断其为全屏特效 或者 单排特效
|
||||
if combat.EffectType == 2 then
|
||||
-- 指定目标弹道特效
|
||||
if combat.EffectType == 1 then
|
||||
local targets = skill:GetDirectTargets()
|
||||
for _, target in ipairs(targets) do
|
||||
self:RoleViewBullet(combat, target)
|
||||
end
|
||||
|
||||
-- 全屏特效
|
||||
elseif combat.EffectType == 2 then
|
||||
local path = combat.Bullet
|
||||
if path then
|
||||
|
||||
|
@ -992,13 +996,15 @@ function RoleView:CheckFullSceenSkill(combat, skill)
|
|||
-- 特效的偏移量
|
||||
local offset = combat.Offset and Vector3.New(combat.Offset[1], combat.Offset[2], 0) or Vector3.zero
|
||||
|
||||
--
|
||||
local go = loadAsset(path, self.RootPanel.skillEffectRoot:GetComponent("Canvas").sortingOrder)
|
||||
go.transform:SetParent(self.RootPanel.skillEffectRoot.transform)
|
||||
go.transform.localScale = Vector3.one
|
||||
go.transform.localPosition = pos + offset
|
||||
go:SetActive(true)
|
||||
self:AddDelayRecycleRes(path, go, 10)
|
||||
end
|
||||
self:AddDelayRecycleRes(path, go, 4)
|
||||
end
|
||||
-- 全屏弹道特效
|
||||
elseif combat.EffectType == 3 then
|
||||
local path = combat.Bullet
|
||||
if path then
|
||||
|
@ -1030,7 +1036,35 @@ function RoleView:CheckFullSceenSkill(combat, skill)
|
|||
-- go:SetActive(false)
|
||||
-- end)
|
||||
end
|
||||
end
|
||||
|
||||
-- 指定目标特效
|
||||
elseif combat.EffectType == 4 then
|
||||
local targets = skill:GetDirectTargets()
|
||||
for _, target in ipairs(targets) do
|
||||
local tv = self.RootPanel.GetRoleView(target)
|
||||
if tv then
|
||||
local offset = combat.Offset and Vector3.New(combat.Offset[1], combat.Offset[2], 0) or Vector3.zero
|
||||
|
||||
local sortingOrder = tv.role.camp == 0 and tv.GameObject:GetComponent("Canvas").sortingOrder + 21 or nil
|
||||
local go2 = loadAsset(combat.Bullet, sortingOrder)
|
||||
go2.transform:SetParent(tv.GameObject.transform.parent)
|
||||
go2.transform.localScale = Vector3.one
|
||||
go2.transform.localPosition = Vector3.zero
|
||||
go2.transform.anchoredPosition = offset
|
||||
go2.transform:SetParent(self.RootPanel.skillEffectRoot.transform)
|
||||
go2:SetActive(true)
|
||||
self:AddDelayRecycleRes(combat.Bullet, go2, 4)
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
-- 取消高亮
|
||||
self:DelayFunc(combat.KeyFrame/1000, function()
|
||||
self:CheckSkillHitEffect("skill", combat, skill)
|
||||
self:checkShake(combat)
|
||||
end)
|
||||
end
|
||||
|
||||
-- 检测前摇技能释放
|
||||
|
@ -1040,6 +1074,7 @@ function RoleView:CheckSkillForoleEffect(combat, skill)
|
|||
end
|
||||
if combat.BeforeBullet and combat.BeforeBullet ~= "" then
|
||||
local path = combat.BeforeBullet
|
||||
local offset = combat.BeforeOffset and Vector3.New(combat.BeforeOffset[1], combat.BeforeOffset[2], 0) or Vector3.zero
|
||||
local sortingOrder
|
||||
if self.camp == 0 then
|
||||
sortingOrder = self.GameObject:GetComponent("Canvas").sortingOrder
|
||||
|
@ -1048,17 +1083,67 @@ function RoleView:CheckSkillForoleEffect(combat, skill)
|
|||
go.transform:SetParent(self.GameObject.transform)
|
||||
go.transform.localScale = Vector3.one
|
||||
go.transform.localPosition = Vector3.zero
|
||||
go.transform.anchoredPosition = offset
|
||||
go:SetActive(true)
|
||||
self:AddDelayRecycleRes(path, go, 3)
|
||||
end
|
||||
end
|
||||
|
||||
-- 检测技能命中特效显示
|
||||
function RoleView:CheckSkillHitEffect(checkType, combat, skill)
|
||||
if not combat then return end
|
||||
|
||||
if checkType == "skill" then
|
||||
-- 释放技能时检测,如果是范围命中效果
|
||||
if combat.HitEffectType == 2 and combat.Hit then
|
||||
local targets = skill:GetDirectTargets()
|
||||
if not targets or not targets[1] or targets[1]:IsDead() then return end
|
||||
local tv = self.RootPanel.GetRoleView(targets[1])
|
||||
if not tv then return end
|
||||
|
||||
local tpos = self:GetEffectPosition(skill)
|
||||
if not tpos then
|
||||
return
|
||||
end
|
||||
|
||||
-- 特效的偏移量
|
||||
local offset = combat.HitOffset and Vector3.New(combat.HitOffset[1], combat.HitOffset[2], 0) or Vector3.zero
|
||||
|
||||
local sortingOrder = tv.role.camp == 0 and tv.GameObject:GetComponent("Canvas").sortingOrder + 21 or nil
|
||||
local go = loadAsset(combat.Hit, sortingOrder)
|
||||
go.transform:SetParent(self.RootPanel.skillEffectRoot.transform)
|
||||
go.transform.localScale = Vector3.one
|
||||
go.transform.localPosition = tpos + offset
|
||||
go:SetActive(true)
|
||||
self:AddDelayRecycleRes(combat.Hit, go, 1)
|
||||
|
||||
end
|
||||
elseif checkType == "hit" then
|
||||
-- 被击中时检测,如果是目标命中
|
||||
if combat.HitEffectType == 1 and combat.Hit then
|
||||
local offset = combat.HitOffset and Vector3.New(combat.HitOffset[1], combat.HitOffset[2], 0) or Vector3.zero
|
||||
|
||||
local sortingOrder = self.role.camp == 0 and self.GameObject:GetComponent("Canvas").sortingOrder + 21 or nil
|
||||
local go2 = loadAsset(combat.Hit, sortingOrder)
|
||||
go2.transform:SetParent(self.GameObject.transform.parent)
|
||||
go2.transform.localScale = Vector3.one
|
||||
go2.transform.localPosition = Vector3.zero--self.GameObject.transform.localPosition + Vector3.New(0, self.BuffFloatingCount * 180, 0)
|
||||
go2.transform.anchoredPosition = offset--Vector2.zero
|
||||
go2.transform:SetParent(self.RootPanel.skillEffectRoot.transform)
|
||||
go2:SetActive(true)
|
||||
self:AddDelayRecycleRes(combat.Hit, go2, 1)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
-- 检测是否需要震动屏幕
|
||||
function RoleView:checkShake(combat)
|
||||
if combat.ShockScreen == 1 then
|
||||
self:DelayFunc(combat.KeyFrame/1000, function()
|
||||
self.RootPanel:SetShake()
|
||||
end)
|
||||
self.RootPanel:SetShake()
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -1078,13 +1163,11 @@ local plist = {
|
|||
|
||||
|
||||
-- 播放弹道特效
|
||||
function RoleView:RoleViewBullet(skill, target)
|
||||
function RoleView:RoleViewBullet(combat, target)
|
||||
|
||||
if not skill or not self.RootPanel.GetRoleView(target) then return end
|
||||
local combat = BattleManager.GetSkillCombat(SkillLogicConfig[skill.id].SkillDisplay)
|
||||
if not self.RootPanel.GetRoleView(target) then return end
|
||||
if not combat then return end
|
||||
|
||||
|
||||
local duration = combat.BulletTime/1000
|
||||
local bulletEffect = combat.Bullet
|
||||
if not bulletEffect or bulletEffect == "" or duration == 0 then return end
|
||||
|
@ -1293,18 +1376,8 @@ function RoleView:OnceDamaged(atkRole, dmg, bCrit, finalDmg, damageType, dotType
|
|||
self:AddDelayRecycleRes(teamSkillHitEffect, go2, 3)
|
||||
end
|
||||
elseif skill then
|
||||
local HitEffect = BattleManager.GetSkillCombat(SkillLogicConfig[skill.id].SkillDisplay).Hit
|
||||
if HitEffect then
|
||||
local sortingOrder = self.role.camp == 0 and self.GameObject:GetComponent("Canvas").sortingOrder + 21 or nil
|
||||
local go2 = loadAsset(HitEffect, sortingOrder)
|
||||
go2.transform:SetParent(self.GameObject.transform.parent)
|
||||
go2.transform.localScale = Vector3.one
|
||||
go2.transform.localPosition = Vector3.zero--self.GameObject.transform.localPosition + Vector3.New(0, self.BuffFloatingCount * 180, 0)
|
||||
go2.transform.anchoredPosition = Vector2.zero
|
||||
go2.transform:SetParent(self.RootPanel.skillEffectRoot.transform)
|
||||
go2:SetActive(true)
|
||||
self:AddDelayRecycleRes(HitEffect, go2, 1)
|
||||
end
|
||||
local combat = BattleManager.GetSkillCombat(SkillLogicConfig[skill.id].SkillDisplay)
|
||||
self:CheckSkillHitEffect("hit", combat, skill)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -243,211 +243,7 @@ function GMPanel:BindEvent()
|
|||
local monsterId = 10101
|
||||
Util.AddClick(this.btnBattleGo, function()
|
||||
if this.MonsterIdText.text == "" then
|
||||
local data = {enemyData=
|
||||
{
|
||||
{
|
||||
{camp=1,element=4,passivity=
|
||||
{}
|
||||
,position=1,professionId=2,property=
|
||||
{10,3640,3640,546,182,182,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0}
|
||||
,quality=0,roleId=10071,skill=
|
||||
{100711,
|
||||
{210003,0.05,
|
||||
{1,0.49,1}
|
||||
}
|
||||
}
|
||||
,star=5,superSkill=
|
||||
{100712,
|
||||
{200003,0.05,
|
||||
{109,1.4,1,1,0.24,5}
|
||||
}
|
||||
}
|
||||
,type=1}
|
||||
,
|
||||
{camp=1,element=4,passivity=
|
||||
{}
|
||||
,position=2,professionId=2,property=
|
||||
{10,3640,3640,546,182,182,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0}
|
||||
,quality=0,roleId=10070,skill=
|
||||
{100701,
|
||||
{400000,0.05,
|
||||
{1,1,2}
|
||||
}
|
||||
}
|
||||
,star=5,superSkill=
|
||||
{100702,
|
||||
{400000,0.05,
|
||||
{1,3.5,2}
|
||||
}
|
||||
}
|
||||
,type=1}
|
||||
,
|
||||
{camp=1,element=1,passivity=
|
||||
{}
|
||||
,position=3,professionId=2,property=
|
||||
{10,3040,3040,456,152,152,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0}
|
||||
,quality=0,roleId=10051,skill=
|
||||
{100511,
|
||||
{200000,0.05,
|
||||
{1,0.2,1}
|
||||
}
|
||||
}
|
||||
,star=3,superSkill=
|
||||
{100512,
|
||||
{200000,0.05,
|
||||
{1,1,1}
|
||||
}
|
||||
}
|
||||
,type=1}
|
||||
,
|
||||
{camp=1,element=2,passivity=
|
||||
{}
|
||||
,position=4,professionId=2,property=
|
||||
{10,3640,3640,546,182,182,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0}
|
||||
,quality=0,roleId=10062,skill=
|
||||
{100621,
|
||||
{400000,0.05,
|
||||
{1,0.9,1}
|
||||
}
|
||||
}
|
||||
,star=5,superSkill=
|
||||
{100622,
|
||||
{230002,0.05,
|
||||
{1,2.12,1}
|
||||
,
|
||||
{3,0.3,1,1}
|
||||
}
|
||||
}
|
||||
,type=1}
|
||||
,
|
||||
{camp=1,element=3,passivity=
|
||||
{}
|
||||
,position=5,professionId=4,property=
|
||||
{10,3640,3640,546,182,182,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0}
|
||||
,quality=0,roleId=10058,skill=
|
||||
{100581,
|
||||
{400000,0.05,
|
||||
{1,0.95,1}
|
||||
}
|
||||
}
|
||||
,star=5,superSkill=
|
||||
{100582,
|
||||
{230002,0.05,
|
||||
{1,2.23,1}
|
||||
}
|
||||
}
|
||||
,type=1}
|
||||
,outData="",teamPassive=
|
||||
{}
|
||||
,teamSkill=
|
||||
{}
|
||||
}
|
||||
}
|
||||
,playerData=
|
||||
{
|
||||
{camp=0,element=4,passivity=
|
||||
{
|
||||
{233,4,12,0.09,1}
|
||||
,
|
||||
{225,0.06,1,2,5}
|
||||
,
|
||||
{234,3,0.15,1}
|
||||
,
|
||||
{208,2,0.15,5,1,0.1,9,1}
|
||||
,
|
||||
{227,12,0.16}
|
||||
}
|
||||
,position=1,professionId=3,property=
|
||||
{30,7819,7819,1303,362,362,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0}
|
||||
,quality=0,roleId=10013,skill=
|
||||
{1461,
|
||||
{400000,0.05,
|
||||
{1,1,1}
|
||||
}
|
||||
}
|
||||
,star=5,superSkill=
|
||||
{1462,
|
||||
{200000,0.05,
|
||||
{1,1.02,1}
|
||||
,
|
||||
{3,0.3,7,1}
|
||||
}
|
||||
}
|
||||
,type=1}
|
||||
,
|
||||
{camp=0,element=1,passivity=
|
||||
{
|
||||
{233,4,12,0.09,1}
|
||||
,
|
||||
{225,0.06,1,2,5}
|
||||
,
|
||||
{234,3,0.15,1}
|
||||
,
|
||||
{208,2,0.15,5,1,0.1,9,1}
|
||||
,
|
||||
{227,12,0.16}
|
||||
}
|
||||
,position=2,professionId=4,property=
|
||||
{30,6739,6739,1123,312,312,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0}
|
||||
,quality=0,roleId=10068,skill=
|
||||
{100681,
|
||||
{400000,0.05,
|
||||
{1,0.9,2}
|
||||
}
|
||||
}
|
||||
,star=4,superSkill=
|
||||
{100682,
|
||||
{200003,0.05,
|
||||
{113,1.55,2,1,0.2,7,1}
|
||||
}
|
||||
}
|
||||
,type=1}
|
||||
,
|
||||
{camp=0,element=3,passivity=
|
||||
{
|
||||
{208,2,0.15,5,1,0.1,9,1}
|
||||
,
|
||||
{233,4,12,0.09,1}
|
||||
,
|
||||
{227,12,0.16}
|
||||
,
|
||||
{225,0.06,1,2,5}
|
||||
,
|
||||
{105,1}
|
||||
,
|
||||
{234,3,0.15,1}
|
||||
,
|
||||
{90,16,2,1}
|
||||
,
|
||||
{104,2}
|
||||
}
|
||||
,position=3,professionId=4,property=
|
||||
{255,1585443,1585443,330981,9925,9925,0,0,0.1,0,1.08,0,0,0.06,1,1,0,0,0,0,0,0,0,0,0}
|
||||
,quality=0,roleId=10006,skill=
|
||||
{1041,
|
||||
{220801,0.05,
|
||||
{1,0.95,2}
|
||||
}
|
||||
}
|
||||
,star=11,superSkill=
|
||||
{1042,
|
||||
{220801,0.05,
|
||||
{1,3.33,2}
|
||||
}
|
||||
,
|
||||
{300000,0.05,
|
||||
{100,1,1}
|
||||
}
|
||||
}
|
||||
,type=1}
|
||||
,outData="1#1011|2#11|3#2|4#0|5#11",teamPassive=
|
||||
{
|
||||
{}
|
||||
}
|
||||
,teamSkill=
|
||||
{}
|
||||
}
|
||||
}
|
||||
local data = {enemyData={{{camp=1,element=3,passivity={},position=1,professionId=2,property={100,100000,100000,100,0,0,0,0,0,1,0,0.2,1.5,0,1,1,0,0,0,0,0,0,0,0,0},quality=5,roleId=10085,skill={1131,0.05,0,1,{230002,{1,0.6,2}}},star=5,superSkill={1132,0.8,0,1,{200212,{2,2.12,2}},{400001,{101,1}}},type=1},{camp=1,element=2,passivity={},position=2,professionId=3,property={100,100000,100000,100,0,0,0,0,0,1,0,0.2,1.5,0,1,1,0,0,0,0,0,0,0,0,0},quality=5,roleId=10022,skill={1151,0.05,0,1,{220000,{1,0.44,2}}},star=5,superSkill={1152,0.05,0,1,{220000,{2,1.55,2},{3,0.45,1,1}}},type=1},{camp=1,element=2,passivity={},position=3,professionId=1,property={100,100000,100000,100,0,0,0,0,0,1,0,0.2,1.5,0,1,1,0,0,0,0,0,0,0,0,0},quality=5,roleId=10010,skill={1171,0.05,0,1,{400000,{1,0.9,1}}},star=5,superSkill={1172,0.35,0,1,{210003,{2,1.55,1}},{110003,{104,0.2,1}}},type=1},{camp=1,element=2,passivity={},position=4,professionId=4,property={100,100000,100000,100,0,0,0,0,0,1,0,0.2,1.5,0,1,1,0,0,0,0,0,0,0,0,0},quality=5,roleId=10089,skill={1181,0.05,0,1,{400000,{1,0.9,2}}},star=5,superSkill={1182,0.8,0,1,{230002,{2,2.12,2}},{300000,{100,1,1}}},type=1},{camp=1,element=2,passivity={},position=5,professionId=2,property={100,100000,100000,100,0,0,0,0,0,1,0,0.2,1.5,0,1,1,0,0,0,0,0,0,0,0,0},quality=5,roleId=10015,skill={1201,0.05,0,1,{400000,{1,0.9,1}}},star=5,superSkill={1202,0.01,0.5,3,{400000,{1,3.15,1}},{300000,{100,1,1}}},type=1},{camp=1,element=2,passivity={},position=6,professionId=2,property={100,100000,100000,100,0,0,0,0,0,1,0,0.2,1.5,0,1,1,0,0,0,0,0,0,0,0,0},quality=5,roleId=10086,skill={1261,0.05,0,1,{400000,{1,0.9,1}}},star=5,superSkill={1262,0.3,0,1,{230002,{2,2.12,1}},{400001,{101,1}}},type=1},teamPassive={},teamSkill={}}},playerData={{camp=0,element=3,passivity={},position=1,professionId=4,property={100,100000,100000,100,0,0,0,0,0,1,0,0.2,1.5,0,1,1,0,0,0,0,0,0,0,0,0},quality=5,roleId=10008,skill={1021,0.05,0,1,{210003,{1,0.47,1}}},star=5,superSkill={1022,1.2,0,1,{210003,{2,1.63,1}},{100000,{100,1,1}}},type=1},{camp=0,element=3,passivity={},position=2,professionId=4,property={100,100000,100000,100,0,0,0,0,0,1,0,0.2,1.5,0,1,1,0,0,0,0,0,0,0,0,0},quality=5,roleId=10006,skill={1041,0.05,0,1,{220801,{1,0.95,2}}},star=5,superSkill={1042,0.1,0.8,3,{220801,{1,3.33,2}},{300000,{100,1,1}}},type=1},{camp=0,element=3,passivity={},position=3,professionId=4,property={100,100000,100000,100,0,0,0,0,0,1,0,0.2,1.5,0,1,1,0,0,0,0,0,0,0,0,0},quality=5,roleId=10018,skill={1051,0.05,0,1,{100111,{24,1,1.03}}},star=5,superSkill={1052,0.05,0,1,{100113,{24,1,1.75}}},type=1},{camp=0,element=3,passivity={},position=4,professionId=3,property={100,100000,100000,100,0,0,0,0,0,1,0,0.2,1.5,0,1,1,0,0,0,0,0,0,0,0,0},quality=5,roleId=10005,skill={1071,0.05,0,1,{400000,{1,0.95,0.4}}},star=5,superSkill={1072,0.3,0,1,{210003,{2,1.63,2},{3,0.4,2,1}}},type=1},{camp=0,element=3,passivity={},position=5,professionId=3,property={100,100000,100000,100,0,0,0,0,0,1,0,0.2,1.5,0,1,1,0,0,0,0,0,0,0,0,0},quality=5,roleId=10020,skill={1081,0.05,0,1,{400000,{1,0.95,1}}},star=5,superSkill={1082,0.3,0,1,{230002,{2,2.23,1},{3,0.4,1,1}}},type=1},{camp=0,element=2,passivity={},position=6,professionId=2,property={100,100000,100000,100,0,0,0,0,0,1,0,0.2,1.5,0,1,1,0,0,0,0,0,0,0,0,0},quality=5,roleId=10012,skill={1121,0.05,0,1,{400000,{1,0.95,2}}},star=5,superSkill={1122,0.05,0,1,{400000,{103,3.33,2,0.3}}},type=1},teamPassive={},teamSkill={}}}
|
||||
local testFightData = {
|
||||
fightData = data,
|
||||
fightSeed = 1589533697,
|
||||
|
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue