hch
5 小时以前 03942026b95aba9f0af1c637749ad27de399b932
Main/System/Battle/BattleConst.cs
@@ -1,13 +1,44 @@
using System;
using System.Collections.Generic;
public static class BattleConst
{
    public static List<Type> BattleWindows = new List<Type>()
    {
        typeof(BattleWin),
        typeof(StoryBossBattleWin),
        typeof(ArenaBattleWin),
        typeof(BoneFieldBattleWin),
        typeof(TianziBillboradBattleWin),
    };
    public static Dictionary<string, string> battleNameToWinName = new Dictionary<string, string>()
    {
        { "StoryBattleField", "BattleWin" },
        { "StoryBossBattleField", "StoryBossBattleWin" },
        { "ArenaBattleField", "ArenaBattleWin" },
        { "BoneBattleField", "BoneFieldBattleWin" },
        { "TianziBillboradBattleField", "TianziBillboradBattleWin" },
    };
    public const int BattleStartEffectID = 1001; // Example effect ID for battle start
    public const int skillMotionFps = 30;
    public const int BattlePointItemID = 3;//战锤ID
    public const int BattleTotalDamageType = 100001; // 总伤害类型ID
    public const int BattleTotalRecoverType = 100002; // 总治疗类型ID
    public const int BattleComboAttack = 100003; // 连击
    public const int BattleCounterAttack = 100004; // 反击
    public const int BattleChaseAttack = 100005; // 追击
    public const int BattleStun = 100006; // 击晕
    //  1000~10000之间的战斗层级
    //  需要考虑根据UI 特效 战斗角色三方的层级关系
@@ -25,41 +56,52 @@
    // 激活英雄后特效|激活英雄|激活英雄前特效
    // 应该如何管理层级?
    // RendererAdjuster如何替换EffectPenetrationBlocker?
    // RendererAdjuster应该不参与管理子RendererAdjuster
    // RendererAdjuster怎么联系起来
    public const int BattleBlackTransparentMaskOffset = 100;
    //  ---------------------2025、10.23更新
    //  现在期望 蒙版不要压住UI 更改策略
    //  释放技能英雄>受影响英雄>正常UI>黑色蒙版>未受影响英雄>底图
    //释放技能英雄>受影响英雄>[正常UI]>黑色蒙版>未受影响英雄>底图
    public static int BattleWinSortingOrder
    {
        get
        {
            List<int> activeWinOrders = new List<int>();
            BattleWin battleWin = UIManager.Instance.GetUI<BattleWin>();
            if (battleWin != null)
            for (int i = 0; i < BattleWindows.Count; i++)
            {
                return battleWin.GetSortingOrder();
                var win = UIManager.Instance.GetUI(BattleWindows[i].Name);
                if (win != null && win.IsActive())
                {
                    activeWinOrders.Add(win.GetSortingOrder());
                }
            }
            FullScreenBattleWin fsBattleWin = UIManager.Instance.GetUI<FullScreenBattleWin>();
            if (fsBattleWin != null)
            if (activeWinOrders.Count == 0)
            {
                return fsBattleWin.GetSortingOrder();
                return 0;
            }
            return 0;
            int maxOrder = activeWinOrders[0];
            for (int i = 1; i < activeWinOrders.Count; i++)
            {
                if (activeWinOrders[i] > maxOrder)
                {
                    maxOrder = activeWinOrders[i];
                }
            }
            return maxOrder;
        }
    }
    // 非激活英雄的层级
    public static int UnactiveHeroSortingOrder
    //  释放技能英雄>受影响英雄>正常UI>黑色蒙版>未受影响英雄>[底图]
    public static int BattleBackgroundOrder
    {
        get
        {
            return BattleWinSortingOrder + BattleBlackTransparentMaskOffset - 50;
            return BattleWinSortingOrder - 10;
        }
    }
@@ -68,7 +110,18 @@
    {
        get
        {
            return UnactiveHeroSortingOrder - 1;
            return BattleBackgroundOrder + 1;
        }
    }
    //释放技能英雄>受影响英雄>正常UI>黑色蒙版>[未受影响英雄]>底图
    // 非激活英雄的层级
    public static int UnactiveHeroSortingOrder
    {
        get
        {
            return UnactiveHeroBackSortingOrder + 1;
        }
    }
@@ -81,7 +134,8 @@
        }
    }
    // 挡板的层级
    //释放技能英雄>受影响英雄>正常UI>[黑色蒙版]>未受影响英雄>底图
    // 黑色蒙版的层级
    public static int BlockerSortingOrder
    {
        get
@@ -90,15 +144,27 @@
        }
    }
    // 激活英雄的后特效
    public static int ActiveHeroBackSortingOrder
    {
        get
        {
            return BlockerSortingOrder + 1;
        }
    }
    //释放技能英雄>[受影响英雄]>正常UI>黑色蒙版>未受影响英雄>底图
    // 激活英雄的层级
    public static int ActiveHeroSortingOrder
    {
        get
        {
            return BattleWinSortingOrder + BattleBlackTransparentMaskOffset + 50;
            return ActiveHeroBackSortingOrder + 1;
        }
    }
    //[释放技能英雄]>受影响英雄>正常UI>黑色蒙版>未受影响英雄>底图
    //  释放技能钟的英雄层级
    public static int ActiveHeroActionSortingOrder
    {
        get
@@ -107,21 +173,34 @@
        }
    }
    // 激活英雄的后特效
    public static int ActiveHeroBackSortingOrder
    {
        get
        {
            return ActiveHeroSortingOrder - 1;
        }
    }
    // 激活英雄的前特效
    public static int ActiveHeroFrontSortingOrder
    {
        get
        {
            return ActiveHeroSortingOrder + 1;
            return ActiveHeroActionSortingOrder + 1;
        }
    }
    public const int HardControlGroup = 1;
    public const int SoftControlGroup = 2;
    public const int NormalAttackLimitGroup = 3;
    public const int RageAttackLimitGroup = 4;
    public const int PassiveSkillLimitGroup = 5;
    public static readonly int[] BuffLimitGroups = new int[]
    {
        HardControlGroup,
        SoftControlGroup,
        NormalAttackLimitGroup,
        RageAttackLimitGroup,
        PassiveSkillLimitGroup,
    };
    public const int ShieldBuffAttackType = 1003;//护盾吸收伤害类型ID
}