lcy
2 天以前 ca577b96e0022e0ddaa8e106e147e53d8166df1c
Main/System/Battle/TianziBillboradBattleWin.cs
@@ -1,6 +1,4 @@
using System;
using System.Collections.Generic;
using Cysharp.Threading.Tasks;
using System.Collections.Generic;
using LitJson;
using UnityEngine;
using UnityEngine.UI;
@@ -19,7 +17,6 @@
    [SerializeField] RectTransform rectBoxEnd;
    [SerializeField] UIEffectPlayer uiEffectPlayer;
    public static Action<ulong> TianziDamageBarEndDataAction;
    protected override void OnPreOpen()
    {
@@ -27,11 +24,8 @@
        tianziDamageBar.StageUp += OnStageUp;
        tianziDamageBar.ValueChangeAction += OnValueChangeAction;
        tianziDamageBar.ChangeEndAction += OnChangeEndAction;
        //tianziDamageBar.IsLastHitUnLockEvent += OnIsLastHitUnLockEvent;
        TianziDamageBarEndDataAction += OnTianziDamageBarEndData;
        TianziBillboradManager.Instance.OnUpdateBarInfoEvent += OnUpdateBarInfoEvent;
        MainWin.TabChangeEvent += OnTabChangeEvent;
        EventBroadcast.Instance.AddListener<string, JsonData>(EventName.BATTLE_END, OnSettlement);
        EventBroadcast.Instance.AddListener<HB419_tagSCObjHPRefresh>(EventName.BATTLE_TIANZI_REFRESH_HP, OnUpdateHpNum);
        bool isOpenBattleChangeTab = IsOpenBattleChangeTab();
        transButtons.localPosition = new Vector3(0, isOpenBattleChangeTab ? 130 : 0, 0);
        if (isOpenBattleChangeTab)
@@ -49,12 +43,9 @@
        base.OnPreClose();
        tianziDamageBar.StageUp -= OnStageUp;
        tianziDamageBar.ValueChangeAction -= OnValueChangeAction;
        tianziDamageBar.ChangeEndAction += OnChangeEndAction;
        //tianziDamageBar.IsLastHitUnLockEvent += OnIsLastHitUnLockEvent;
        TianziDamageBarEndDataAction -= OnTianziDamageBarEndData;
        tianziDamageBar.ChangeEndAction -= OnChangeEndAction;
        TianziBillboradManager.Instance.OnUpdateBarInfoEvent -= OnUpdateBarInfoEvent;
        MainWin.TabChangeEvent -= OnTabChangeEvent;
        EventBroadcast.Instance.RemoveListener<string, JsonData>(EventName.BATTLE_END, OnSettlement);
        EventBroadcast.Instance.RemoveListener<HB419_tagSCObjHPRefresh>(EventName.BATTLE_TIANZI_REFRESH_HP, OnUpdateHpNum);
        bool isOpenBattleChangeTab = IsOpenBattleChangeTab();
        if (isOpenBattleChangeTab)
        {
@@ -76,12 +67,12 @@
    }
    private void OnTianziDamageBarEndData(ulong obj)
    private void OnUpdateBarInfoEvent(ulong loaclNowHunt, ulong loaclMaxHp, int loaclHpNum)
    {
        tianziDamageBar.Show(obj);
        tianziDamageBar.Show(loaclNowHunt, loaclMaxHp, loaclHpNum);
    }
    private void OnStageUp(int stage)
    {
@@ -139,8 +130,7 @@
        DisplaySkillWordsList(lineupConfig);
        hpB419 = 0;
        maxHpB419 = 0;
        tianziDamageBar.Init();
        if (null != bossBattleObject)
@@ -194,63 +184,7 @@
        RefreshBuff(buffList);
    }
    private void OnSettlement(string _guid, JsonData data)
    {
        if (string.Empty == _guid)
            return;
        var battle = BattleManager.Instance.GetBattleField(_guid);
        if (battle == null)
            return;
        var battleName = battle.ToString();
        if (battleName != "TianziBillboradBattleField")
            return;
        if (data != null && data.ContainsKey("totalHurt"))
        {
            ulong totalHurt = ulong.Parse(data["totalHurt"].ToString());
            tianziDamageBar.Show(totalHurt);
        }
    }
    private void OnIsLastHitUnLockEvent()
    {
        if (bossBattleObject == null)
            return;
        bossBattleObject.teamHero.curHp = (long)hpB419;
        bossBattleObject.teamHero.maxHp = (long)maxHpB419;
        Debug.Log($"TianziDamageBar OnIsLastHitUnLockEvent hpB419 {hpB419} maxHpB419 {maxHpB419}");
    }
    ulong hpB419;
    ulong maxHpB419;
    private void OnUpdateHpNum(HB419_tagSCObjHPRefresh info)
    {
        if (bossBattleObject == null || info.ObjID != bossBattleObject.ObjID)
            return;
        ulong curHp = (ulong)GeneralDefine.GetFactValue(info.HP, info.HPEx);
        ulong maxHp = (ulong)GeneralDefine.GetFactValue(info.MaxHP, info.MaxHPEx);
        hpB419 = curHp;
        maxHpB419 = maxHp;
        //tianziDamageBar.ShowByB419(curHp, maxHp);
    }
    protected override void OnDamageTaken(BattleDmgInfo info)
    {
        base.OnDamageTaken(info);
        if (info == null || battleField == null || info.battleFieldGuid != battleField.guid)
            return;
        if (bossBattleObject != null && info.hurtObj.ObjID == bossBattleObject.ObjID)
        {
            TeamHero teamHero = bossBattleObject.teamHero;
            tianziDamageBar.Show(info);
            //tianziDamageBar.Show((ulong)teamHero.curHp, (ulong)teamHero.maxHp, info);
        }
    }
    private void OnValueChangeAction(float nowValue, int CurrentStage)
    {