|
@@ -60,6 +60,7 @@ public class GameTimeLineParticleFactory : ITimeLineParticleFactory
|
|
{
|
|
{
|
|
allFxAiLogicBasic.Clear();
|
|
allFxAiLogicBasic.Clear();
|
|
}
|
|
}
|
|
|
|
+
|
|
public void RecycleFix()
|
|
public void RecycleFix()
|
|
{
|
|
{
|
|
#if !COMBAT_SERVER
|
|
#if !COMBAT_SERVER
|
|
@@ -89,10 +90,12 @@ public class GameTimeLineParticleFactory : ITimeLineParticleFactory
|
|
#endif
|
|
#endif
|
|
allCombatParticleSystem.Clear();
|
|
allCombatParticleSystem.Clear();
|
|
}
|
|
}
|
|
|
|
+
|
|
public void RemoveCombatParticleSystemPool(CombatParticleSystemPool combatParticleSystemPool)
|
|
public void RemoveCombatParticleSystemPool(CombatParticleSystemPool combatParticleSystemPool)
|
|
{
|
|
{
|
|
allCombatParticleSystem.Remove(combatParticleSystemPool);
|
|
allCombatParticleSystem.Remove(combatParticleSystemPool);
|
|
}
|
|
}
|
|
|
|
+
|
|
public Clock CreateParticle(TimeLineEventParticleLogicBasic timeLineEventParticleLogicBasic,
|
|
public Clock CreateParticle(TimeLineEventParticleLogicBasic timeLineEventParticleLogicBasic,
|
|
ILifetCycleHitPoint effectTarget,
|
|
ILifetCycleHitPoint effectTarget,
|
|
ILifetCycleHitPoint fxTarget, Vector3 startPos, SpecialDotInfo targetSpecialDotInfo,
|
|
ILifetCycleHitPoint fxTarget, Vector3 startPos, SpecialDotInfo targetSpecialDotInfo,
|
|
@@ -107,22 +110,16 @@ public class GameTimeLineParticleFactory : ITimeLineParticleFactory
|
|
pool.InitCombatParticleSystem();
|
|
pool.InitCombatParticleSystem();
|
|
#endif
|
|
#endif
|
|
|
|
|
|
-
|
|
|
|
|
|
+ CombatHeroEntity combatHeroEntity = null;
|
|
if (targetSpecialDotInfo != null)
|
|
if (targetSpecialDotInfo != null)
|
|
{
|
|
{
|
|
-#if !COMBAT_SERVER
|
|
|
|
- // CombatHeroEntity heroEntity = targetSpecialDotInfo.heroEntity as CombatHeroEntity;
|
|
|
|
- // if (heroEntity.CombatHeroTransform.iGObjectPoolInterface == null)
|
|
|
|
- // {
|
|
|
|
- // return;
|
|
|
|
- // }
|
|
|
|
-#endif
|
|
|
|
|
|
+ combatHeroEntity = targetSpecialDotInfo.heroEntity as CombatHeroEntity;
|
|
|
|
|
|
// if (!timeLineEventParticleLogicBasic.timeLinePlayFxSerializtion.isActivityCustomTargetPos)
|
|
// if (!timeLineEventParticleLogicBasic.timeLinePlayFxSerializtion.isActivityCustomTargetPos)
|
|
// {
|
|
// {
|
|
// startPos = targetSpecialDotInfo.GetWorlPos();
|
|
// startPos = targetSpecialDotInfo.GetWorlPos();
|
|
// }
|
|
// }
|
|
-#if !COMBAT_SERVER
|
|
|
|
|
|
+
|
|
if (!timeLineEventParticleLogicBasic.timeLinePlayFxSerializtion.isNotRotate)
|
|
if (!timeLineEventParticleLogicBasic.timeLinePlayFxSerializtion.isNotRotate)
|
|
{
|
|
{
|
|
pool.transform.eulerAngles = targetSpecialDotInfo.GetEulerAngles();
|
|
pool.transform.eulerAngles = targetSpecialDotInfo.GetEulerAngles();
|
|
@@ -142,27 +139,32 @@ public class GameTimeLineParticleFactory : ITimeLineParticleFactory
|
|
// {
|
|
// {
|
|
// pool.transform.SetParent(targetSpecialDotInfo.targetTran);
|
|
// pool.transform.SetParent(targetSpecialDotInfo.targetTran);
|
|
// }
|
|
// }
|
|
-#endif
|
|
|
|
}
|
|
}
|
|
- else
|
|
|
|
|
|
+
|
|
|
|
+ if (combatHeroEntity != null && timeLineEventParticleLogicBasic.timeLinePlayFxSerializtion.isLoop)
|
|
{
|
|
{
|
|
|
|
+ combatHeroEntity.heroLoopParticle.Add(pool);
|
|
|
|
+ pool.HeroEntity = combatHeroEntity;
|
|
}
|
|
}
|
|
-#if !COMBAT_SERVER
|
|
|
|
|
|
+
|
|
|
|
+
|
|
pool.gameObject.SetActive(false);
|
|
pool.gameObject.SetActive(false);
|
|
pool.transform.position = startPos;
|
|
pool.transform.position = startPos;
|
|
if (timeLineEventParticleLogicBasic.timeLinePlayFxSerializtion.isFollowRootTarget &&
|
|
if (timeLineEventParticleLogicBasic.timeLinePlayFxSerializtion.isFollowRootTarget &&
|
|
timeLineEventParticleLogicBasic.timeLinePlayFxSerializtion.locationType !=
|
|
timeLineEventParticleLogicBasic.timeLinePlayFxSerializtion.locationType !=
|
|
FXLocationType.SceneZero)
|
|
FXLocationType.SceneZero)
|
|
{
|
|
{
|
|
-
|
|
|
|
- CombatHeroEntity combatHeroEntity= targetSpecialDotInfo.heroEntity as CombatHeroEntity;
|
|
|
|
- pool.transform.SetParent(combatHeroEntity.GetMainHotPoin<CombatHeroHitPoint>().GetSpecialDotInfo("").targetTran);
|
|
|
|
|
|
+ if (combatHeroEntity != null)
|
|
|
|
+ {
|
|
|
|
+ pool.transform.SetParent(combatHeroEntity.GetMainHotPoin<CombatHeroHitPoint>()
|
|
|
|
+ .GetSpecialDotInfo("").targetTran);
|
|
|
|
+ }
|
|
|
|
+
|
|
pool.transform.localEulerAngles = Vector3.zero;
|
|
pool.transform.localEulerAngles = Vector3.zero;
|
|
-
|
|
|
|
- }else
|
|
|
|
- if (timeLineEventParticleLogicBasic.timeLinePlayFxSerializtion.isFollowTarget &&
|
|
|
|
- timeLineEventParticleLogicBasic.timeLinePlayFxSerializtion.locationType !=
|
|
|
|
- FXLocationType.SceneZero)
|
|
|
|
|
|
+ }
|
|
|
|
+ else if (timeLineEventParticleLogicBasic.timeLinePlayFxSerializtion.isFollowTarget &&
|
|
|
|
+ timeLineEventParticleLogicBasic.timeLinePlayFxSerializtion.locationType !=
|
|
|
|
+ FXLocationType.SceneZero)
|
|
{
|
|
{
|
|
pool.transform.localEulerAngles = Vector3.zero;
|
|
pool.transform.localEulerAngles = Vector3.zero;
|
|
pool.targetSpecialDotInfo = targetSpecialDotInfo;
|
|
pool.targetSpecialDotInfo = targetSpecialDotInfo;
|
|
@@ -172,7 +174,7 @@ public class GameTimeLineParticleFactory : ITimeLineParticleFactory
|
|
// pool.transform.SetParent(null);
|
|
// pool.transform.SetParent(null);
|
|
pool.targetSpecialDotInfo = null;
|
|
pool.targetSpecialDotInfo = null;
|
|
}
|
|
}
|
|
-#endif
|
|
|
|
|
|
+
|
|
FxAILogicBasic fxAILogicBasic = pool.own.GetComponent<FxAILogicBasic>();
|
|
FxAILogicBasic fxAILogicBasic = pool.own.GetComponent<FxAILogicBasic>();
|
|
|
|
|
|
if (fxAILogicBasic != null)
|
|
if (fxAILogicBasic != null)
|