From 88788d95e6bdda152fe2d62bc853d892c39d6476 Mon Sep 17 00:00:00 2001
From: client_Hale <339726288@qq.com>
Date: 星期五, 10 八月 2018 20:49:13 +0800
Subject: [PATCH] fixed #2391 【前端】游戏性能优化 / 低效果屏蔽其他对象技能特效
---
Fight/Actor/State/SMB/STM_BaseAttack.cs | 5 ++
Fight/Actor/Status/Status_Base.cs | 20 ++++++++-
Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0614_tagUseSkillPos.cs | 40 +++++++++++++------
Core/NetworkPackage/DTCFile/ServerPack/HB4_Fight/DTCB401_tagMCSkillHurtList.cs | 17 ++++++++
4 files changed, 65 insertions(+), 17 deletions(-)
diff --git a/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0614_tagUseSkillPos.cs b/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0614_tagUseSkillPos.cs
index ab05453..a790e4f 100644
--- a/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0614_tagUseSkillPos.cs
+++ b/Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0614_tagUseSkillPos.cs
@@ -60,30 +60,44 @@
// 杩欓噷鎾斁閰嶇疆鐨勬妧鑳界壒鏁�
if (_skill.skillInfo.config.EffectName > 0)
{
- if (_skill.warnPosList.Count > 1)
+ bool _playEffect = true;
+
+ if (vNetData.ObjID != PlayerDatas.Instance.PlayerId)
{
- for (int i = 0; i < _skill.warnPosList.Count; ++i)
+ if (!_attacker.ShowOrHide
+ || SystemSetting.Instance.GetCurrentQualityLevel() == GameQuality.Low)
{
- SFXPlayUtility.Instance.PlayBattleEffect(_skill.skillInfo.config.EffectName, _skill.warnPosList[i], Vector3.forward);
+ _playEffect = false;
}
}
- else
+
+ if (_playEffect)
{
- if ((_skill.skillInfo.config.Tag % 10) == 0 || (_skill.skillInfo.config.Tag % 10) == 1 || _attacker is GActorNpcFight)
+ if (_skill.warnPosList.Count > 1)
{
- SFXPlayUtility.Instance.PlayBattleEffect(_skill.skillInfo.config.EffectName, _attacker);
+ for (int i = 0; i < _skill.warnPosList.Count; ++i)
+ {
+ SFXPlayUtility.Instance.PlayBattleEffect(_skill.skillInfo.config.EffectName, _skill.warnPosList[i], Vector3.forward);
+ }
}
else
{
- Vector3 _pos = new Vector3((vNetData.PosX - GA_Hero.MapOffset.x) * .5f,
- _attacker.Pos.y,
- (vNetData.PosY - GA_Hero.MapOffset.z) * .5f);
+ if ((_skill.skillInfo.config.Tag % 10) == 0 || (_skill.skillInfo.config.Tag % 10) == 1 || _attacker is GActorNpcFight)
+ {
+ SFXPlayUtility.Instance.PlayBattleEffect(_skill.skillInfo.config.EffectName, _attacker);
+ }
+ else
+ {
+ Vector3 _pos = new Vector3((vNetData.PosX - GA_Hero.MapOffset.x) * .5f,
+ _attacker.Pos.y,
+ (vNetData.PosY - GA_Hero.MapOffset.z) * .5f);
- Vector3 _dir = MathUtility.ForwardXZ(_pos, _attacker.Pos);
+ Vector3 _dir = MathUtility.ForwardXZ(_pos, _attacker.Pos);
- SFXPlayUtility.Instance.PlayBattleEffect(_skill.skillInfo.config.EffectName,
- _pos,
- _dir);
+ SFXPlayUtility.Instance.PlayBattleEffect(_skill.skillInfo.config.EffectName,
+ _pos,
+ _dir);
+ }
}
}
}
diff --git a/Core/NetworkPackage/DTCFile/ServerPack/HB4_Fight/DTCB401_tagMCSkillHurtList.cs b/Core/NetworkPackage/DTCFile/ServerPack/HB4_Fight/DTCB401_tagMCSkillHurtList.cs
index 7f319c7..d46e145 100644
--- a/Core/NetworkPackage/DTCFile/ServerPack/HB4_Fight/DTCB401_tagMCSkillHurtList.cs
+++ b/Core/NetworkPackage/DTCFile/ServerPack/HB4_Fight/DTCB401_tagMCSkillHurtList.cs
@@ -43,7 +43,22 @@
if (_skill.skillInfo.config.EffectName != 0)
{
- SFXPlayUtility.Instance.PlayBattleEffect(_skill.skillInfo.config.EffectName, _attacker);
+ bool _playEffect = true;
+
+ if (vNetData.ObjID != PlayerDatas.Instance.PlayerId)
+ {
+ if (!_attacker.ShowOrHide
+ || SystemSetting.Instance.GetCurrentQualityLevel() == GameQuality.Low)
+ {
+ _playEffect = false;
+ }
+
+ }
+
+ if (_playEffect)
+ {
+ SFXPlayUtility.Instance.PlayBattleEffect(_skill.skillInfo.config.EffectName, _attacker);
+ }
}
GActorFight _cTarget = null;
diff --git a/Fight/Actor/State/SMB/STM_BaseAttack.cs b/Fight/Actor/State/SMB/STM_BaseAttack.cs
index 84cd374..fa99d6f 100644
--- a/Fight/Actor/State/SMB/STM_BaseAttack.cs
+++ b/Fight/Actor/State/SMB/STM_BaseAttack.cs
@@ -927,6 +927,11 @@
{
return;
}
+
+ if (SystemSetting.Instance.GetCurrentQualityLevel() == GameQuality.Low)
+ {
+ return;
+ }
}
SFXController _controller = SFXPlayUtility.Instance.PlayBattleEffect(id, owner);
diff --git a/Fight/Actor/Status/Status_Base.cs b/Fight/Actor/Status/Status_Base.cs
index a715ea4..aed914b 100644
--- a/Fight/Actor/Status/Status_Base.cs
+++ b/Fight/Actor/Status/Status_Base.cs
@@ -41,10 +41,24 @@
SFXPlayUtility.Instance.Release(m_Effect);
}
- m_Effect = SFXPlayUtility.Instance.PlayBattleEffect(m_SkillConfig.BuffEffectID, _target);
- if (m_Effect)
+ bool _playEffect = true;
+
+ if (h0605.ObjID != PlayerDatas.Instance.PlayerId)
{
- m_Effect.m_OnFinished += OnEffectOver;
+ if (!_target.ShowOrHide
+ || SystemSetting.Instance.GetCurrentQualityLevel() == GameQuality.Low)
+ {
+ _playEffect = false;
+ }
+ }
+
+ if (_playEffect)
+ {
+ m_Effect = SFXPlayUtility.Instance.PlayBattleEffect(m_SkillConfig.BuffEffectID, _target);
+ if (m_Effect)
+ {
+ m_Effect.m_OnFinished += OnEffectOver;
+ }
}
}
}
--
Gitblit v1.8.0