301 子 【公会】BOSS讨伐 / 【公会】BOSS讨伐-客户端 - 配置攻击速度等
3个文件已修改
47 ■■■■ 已修改文件
Main/System/Guild/GuildBossManager.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Guild/GuildBossWin.cs 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Redpoint/MainRedDot.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Guild/GuildBossManager.cs
@@ -11,7 +11,18 @@
    public List<HA513_tagMCFamilyActionInfo.tagMCFamilyAction> playerBossHurtRank = new List<HA513_tagMCFamilyActionInfo.tagMCFamilyAction>();
    //时间戳:讨伐数据; 用于播放每次攻击
    public Dictionary<int, TaofaAtkData> taofaAtkData = new Dictionary<int, TaofaAtkData>();
    public int lastPlayTick = 0;    //按时间顺序播放,当前播放的tick,如果找不到则从第一个开始
    //按时间顺序播放,当前播放的tick,如果找不到则从第一个开始
    public int lastPlayTick
    {
        get
        {
            return LocalSave.GetInt("lastPlayTick" + PlayerDatas.Instance.baseData.PlayerID);
        }
        set
        {
            LocalSave.SetInt("lastPlayTick" + PlayerDatas.Instance.baseData.PlayerID, value);
        }
    }
    //玩家ID:玩家数据 (退出公会的玩家)
    public Dictionary<int, MemberData> taofaPlayerData = new Dictionary<int, MemberData>();
    public event Action BossHurtEvent;
Main/System/Guild/GuildBossWin.cs
@@ -74,6 +74,16 @@
    [SerializeField] Transform fakeRedBZ;
    [SerializeField] Transform fakeRedAward;
    [Header("武将进场时间")]
    public float heroShowTime = 0.1f;
    [Header("武将攻击速度越大越快")]
    public float heroAtkSpeed = 2f;
    [Header("多段飘血以及物品出现间隔毫秒")]
    public int atkValueShowCD = 200;
    [Header("是否循环播放他人战斗")]
    public bool isOthersLoop = false;
    bool isCD = false;
    int beforeLayerNum; //布阵层级 对比变化展示特效
@@ -404,6 +414,7 @@
        ShowDynamicUI();
    }
    void AtkResultEvent()
    {
        //1. 玩家从pos1 移动到pos2
@@ -412,7 +423,7 @@
        heroModel.GetHero().onComplete = null;
        heroModel.PlayAnimation("run", true);
        heroModel.transform.localPosition = pos1.localPosition;
        heroModel.transform.DOLocalMove(pos2.localPosition, 0.3f).OnComplete(() =>
        heroModel.transform.DOLocalMove(pos2.localPosition, heroShowTime).OnComplete(() =>
        {
            ShowDmg().Forget();
        });
@@ -426,6 +437,7 @@
            heroModel.transform.localPosition = pos1.localPosition;
        };
        heroModel.HeroPlay("attack");
        if (GuildBossManager.Instance.atkResult.AtkType == 0)
        {
            hurtEffect.Play();
@@ -463,7 +475,7 @@
                    attackType = hurtData.IsSuper == 1 ? (int)DamageType.CritDamage : 2
                };
                hurtValues[i].text = BattleUtility.DisplayDamageNum(dmg);
                await UniTask.Delay(200);
                await UniTask.Delay(atkValueShowCD);
            }
            else
            {
@@ -491,7 +503,7 @@
                awardValues[i].text = itemData.Count.ToString();
                awardIcons[i].SetItemSprite((int)itemData.ItemID);
                await UniTask.Delay(200);
                await UniTask.Delay(atkValueShowCD);
            }
            else
            {
@@ -505,6 +517,7 @@
    {
        var skinConfig = HorseSkinConfig.Get(HorseManager.Instance.GetUsingHorseSkinID(false));
        heroModel.Create(skinConfig.SkinID, PhantasmPavilionManager.Instance.GetMyModelSkinID(), 1.2f);
        heroModel.GetHero().SetSpeed(heroAtkSpeed);
        for (int i = 0; i < hurtValues.Length; i++)
        {
            hurtValues[i].transform.localScale = Vector3.zero;
@@ -646,11 +659,16 @@
        int index = keys.IndexOf(GuildBossManager.Instance.lastPlayTick) + 1;
        if (index >= keys.Count)
        {
            index = 0;
            index = isOthersLoop ? 0 : -1;  //是否循环播放
        }
        GuildBossManager.Instance.lastPlayTick = keys[index];
        var atkData = GuildBossManager.Instance.taofaAtkData[keys[index]];
        var atkPlayerID = atkData.playerID;
        int atkPlayerID = 0;
        TaofaAtkData atkData = null;
        if (index >= 0)
        {
            GuildBossManager.Instance.lastPlayTick = keys[index];
            atkData = GuildBossManager.Instance.taofaAtkData[keys[index]];
            atkPlayerID = atkData.playerID;
        }
        for (int i = 0; i < otherPlayers.Count; i++)
        {
            if (!otherPlayers[i].isActiveAndEnabled)
Main/System/Redpoint/MainRedDot.cs
@@ -74,7 +74,7 @@
    public const int RedPoint_OSHeroCard = 112;
    public const int RedPoint_OSGala = 113; //开服庆典
    Redpoint osGalaRedpoint = new Redpoint(RedPoint_OSGala);
    public const int RedPoint_Ads = 114; //广告用
    public const int RedPoint_Download = 116;
    public Redpoint downLoadRedpoint = new Redpoint(MainRedDot.RedPoint_Download);
    //红颜