yyl
2025-09-15 6a10188f3eddc740b9b8b1e7eefb0e2fdb3850e3
Main/System/Battle/BattleEffectMgr.cs
@@ -43,7 +43,7 @@
        }
    }
    public BattleEffectPlayer PlayEffect(int ObjID, int effectId, Transform parent, BattleCamp camp)
    public BattleEffectPlayer PlayEffect(BattleObject layerDepender, int effectId, Transform parent, BattleCamp camp)
    {
        if (effectId <= 0)
        {
@@ -70,16 +70,30 @@
        effectPlayer.transform.position = parent.position;
        
        effectPlayer.onDestroy += OnEffectDestroy;
        BattleObject temp = layerDepender;
        effectPlayer.onDestroy += (efPlayer) =>
        {
            OnEffectDestroy(efPlayer);
            temp.layerMgr.RemoveEffect(efPlayer);
        };
        if (effectPlayer != null)
        {
            effectDict[effectId].Add(effectPlayer);
        }
        effectPlayer.Play(true);
        effectPlayer.SetSpeedRatio(battleField.speedRatio);
        
        var effectScale = effectPlayer.transform.localScale;
        effectScale.x *= isRedCamp ? 1 : -1;
        effectPlayer.transform.localScale = effectScale;
        if (null != layerDepender)
        {
            layerDepender.layerMgr.AddEffect(effectPlayer);
        }
        return effectPlayer;
    }
@@ -140,4 +154,15 @@
        effectDict.Clear();
    }
    public void SetSpeedRatio(float ratio)
    {
        foreach (var kvPair in effectDict)
        {
            foreach (var effectPlayer in kvPair.Value)
            {
                effectPlayer.SetSpeedRatio(ratio);
            }
        }
    }
}