| | |
| | | |
| | | public void Init() |
| | | { |
| | | int dataMapID = TianziBillboradManager.Instance.DataMapID; |
| | | int lineID = TianziBillboradManager.Instance.todayLineID; |
| | | if (!TianziBillboradManager.Instance.TryGetBossConfig(dataMapID, lineID, out DungeonConfig dungeonConfig, out NPCLineupConfig npcLineupConfig, out NPCConfig npcConfig)) |
| | | return; |
| | | bossId = npcConfig.NPCID; |
| | | nowHpNum = 1; // 默认从第1条血开始 |
| | | if (!TianziConfig.TryGetTianziConfigByBossIDAndHPNum(bossId, nowHpNum, out TianziConfig tianziConfig)) |
| | | return; |
| | | if (TianziBillboradManager.Instance.loaclHpNum > 0) |
| | | if (TianziBillboradManager.Instance.loaclMaxHp > 0) |
| | | { |
| | | nowHunt = TianziBillboradManager.Instance.loaclNowHunt; |
| | | nowHpMax = TianziBillboradManager.Instance.loaclMaxHp; |
| | | nowHpNum = TianziBillboradManager.Instance.loaclHpNum; |
| | | m_BoxCount.text = Language.Get("TianziBillborad07", Mathf.Max(nowHpNum - 1, 0)); |
| | | Show(nowHunt, nowHpMax, nowHpNum); |
| | | } |
| | | else |
| | | { |
| | | int dataMapID = TianziBillboradManager.Instance.DataMapID; |
| | | int lineID = TianziBillboradManager.Instance.todayLineID; |
| | | if (!TianziBillboradManager.Instance.TryGetBossConfig(dataMapID, lineID, out DungeonConfig dungeonConfig, out NPCLineupConfig npcLineupConfig, out NPCConfig npcConfig)) |
| | | return; |
| | | bossId = npcConfig.NPCID; |
| | | nowHpNum = 1; // 默认从第1条血开始 |
| | | if (!TianziConfig.TryGetTianziConfigByBossIDAndHPNum(bossId, nowHpNum, out TianziConfig tianziConfig)) |
| | | return; |
| | | m_IntensifySlider.stage = 0; |
| | | m_IntensifySlider.ResetStage(); |
| | | nowHunt = 0; // 初始血量为0 |
| | | nowHpMax = (ulong)tianziConfig.MaxHP; |
| | | m_BoxCount.text = Language.Get("TianziBillborad07", 0); |
| | | Show(nowHunt, nowHpMax, nowHpNum); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | public void Show(ulong hunt, ulong maxHp, int hpNum) |
| | | { |
| | | nowHunt = hunt; |
| | | nowHpMax = maxHp; |
| | | nowHpNum = hpNum; |
| | | // 除零保护 |
| | | float percentage = 0f; |
| | | if (nowHpMax > 0) |
| | | { |
| | | percentage = Mathf.Clamp(nowHunt, 0, nowHpMax) / (float)nowHpMax; |
| | | } |
| | | |
| | | m_IntensifySlider.value = percentage; |
| | | m_IntensifySlider.stage = nowHpNum; // 设置当前阶段 |
| | | m_IntensifySlider.stage = nowHpNum; |
| | | m_HurtInfo.text = Language.Get("BoneField09", nowHunt, UIHelper.ReplaceLargeNum(nowHpMax)); |
| | | } |
| | | |
| | | |
| | | // public event Action IsLastHitUnLockEvent; |
| | | // public void Show(ulong hp, ulong maxHp, BattleDmgInfo info) // 显示伤害条 |
| | | // { |
| | | // if (!TianziConfig.TryGetTianziConfigByBossIDAndMaxHP(bossId, (long)maxHp, out TianziConfig tianziConfig)) |
| | | // return; |
| | | // if (info.isLastHit && isLock) |
| | | // { |
| | | // isLock = false; |
| | | // IsLastHitUnLockEvent?.Invoke(); |
| | | // } |
| | | |
| | | // int hpNum = tianziConfig.HPNum; |
| | | // ulong hunt = maxHp - hp; |
| | | |
| | | // if (maxHp < nowHpMax) |
| | | // { |
| | | // Debug.LogWarning($"TianziDamageBar SkillID {info.skillConfig.SkillID} hp {hp} maxHp {maxHp} hunt {hunt} nowHpNum {nowHpNum} nowHunt {nowHunt} nowHpMax {nowHpMax} 时间: {DateTime.Now:HH:mm:ss}"); |
| | | // return; |
| | | // } |
| | | |
| | | // if (!isLock) |
| | | // { |
| | | // // 根据maxHp获得当前是第几条血 |
| | | // nowHpNum = hpNum; |
| | | // nowHunt = hunt; |
| | | // nowHpMax = maxHp; |
| | | // // 除零保护 |
| | | // float percentage = 0f; |
| | | // if (nowHpMax > 0) |
| | | // { |
| | | // percentage = Mathf.Clamp(nowHunt, 0, nowHpMax) / (float)nowHpMax; |
| | | // } |
| | | // m_IntensifySlider.value = percentage; |
| | | // m_IntensifySlider.stage = nowHpNum; // 设置当前阶段 |
| | | // Debug.Log($"TianziDamageBar SkillID {info.skillConfig.SkillID} hp {hp} maxHp {maxHp} hunt {hunt} nowHpNum {nowHpNum} nowHunt {nowHunt} nowHpMax {nowHpMax} 时间: {DateTime.Now:HH:mm:ss}"); |
| | | // } |
| | | // } |
| | | |
| | | // bool isLock = false; |
| | | // public void ShowByB419(ulong hp, ulong maxHp) |
| | | // { |
| | | // if (!TianziConfig.TryGetTianziConfigByBossIDAndMaxHP(bossId, (long)maxHp, out TianziConfig tianziConfig)) |
| | | // return; |
| | | |
| | | // isLock = true; |
| | | |
| | | // int hpNum = tianziConfig.HPNum; |
| | | // ulong hunt = maxHp - hp; |
| | | |
| | | // if (maxHp < nowHpMax) |
| | | // { |
| | | // Debug.LogWarning($"TianziDamageBar B419 hp {hp} maxHp {maxHp} hunt {hunt} nowHpNum {nowHpNum} nowHunt {nowHunt} nowHpMax {nowHpMax} 时间: {DateTime.Now:HH:mm:ss}"); |
| | | // return; |
| | | // } |
| | | // nowHpNum = hpNum; |
| | | // nowHunt = hunt; |
| | | // nowHpMax = maxHp; |
| | | // // 除零保护 |
| | | // float percentage = 0f; |
| | | // if (nowHpMax > 0) |
| | | // { |
| | | // percentage = Mathf.Clamp(nowHunt, 0, nowHpMax) / (float)nowHpMax; |
| | | // } |
| | | // m_IntensifySlider.value = percentage; |
| | | // m_IntensifySlider.stage = nowHpNum; // 设置当前阶段 |
| | | // Debug.Log($"TianziDamageBar B419 hp {hp} maxHp {maxHp} hunt {hunt} nowHpNum {nowHpNum} nowHunt {nowHunt} nowHpMax{nowHpMax} 时间: {DateTime.Now:HH:mm:ss}"); |
| | | // } |
| | | |
| | | |
| | | public void Show(ulong totalHP) // 显示伤害条 |
| | | { |
| | | if (!TianziConfig.TryGetTianziConfigByBossIDAndDamage(bossId, totalHP, out TianziConfig tianziConfig)) |
| | | return; |
| | | ulong endMaxHp = (ulong)tianziConfig.MaxHP; |
| | | int endHpNum = tianziConfig.HPNum; |
| | | ulong endNowHunt = TianziConfig.GetCurrentHPDamage(bossId, totalHP); |
| | | |
| | | nowHpNum = endHpNum; |
| | | nowHunt = endNowHunt; |
| | | nowHpMax = endMaxHp; |
| | | |
| | | // 除零保护 |
| | | float percentage = 0f; |
| | | if (nowHpMax > 0) |
| | | { |
| | | percentage = Mathf.Clamp(nowHunt, 0, nowHpMax) / (float)nowHpMax; |
| | | } |
| | | m_IntensifySlider.value = percentage; |
| | | m_IntensifySlider.stage = nowHpNum; // 设置当前阶段 |
| | | //Debug.Log($"TianziDamageBar end nowHpNum {nowHpNum} nowHunt {nowHunt} nowHpMax{nowHpMax} 时间: {DateTime.Now:HH:mm:ss}"); |
| | | } |
| | | |
| | | |
| | | public void Show(BattleDmgInfo _damageInfo) |
| | | { |
| | | if (_damageInfo == null) |
| | | return; |
| | | //闪避和回血类不算伤害 |
| | | if (_damageInfo.IsType(DamageType.Dodge) || _damageInfo.IsType(DamageType.Recovery)) |
| | | return; |
| | | var damages = _damageInfo.damageList; |
| | | for (int i = 0; i < damages.Count; i++) |
| | | { |
| | | ulong hunt = (ulong)damages[i]; |
| | | TianziBillboradManager.Instance.loaclAllHunt += hunt; |
| | | if (!TianziConfig.TryGetTianziConfigByBossIDAndDamage(bossId, TianziBillboradManager.Instance.loaclAllHunt, out TianziConfig tianziConfig)) |
| | | return; |
| | | TianziBillboradManager.Instance.loaclMaxHp = (ulong)tianziConfig.MaxHP; |
| | | TianziBillboradManager.Instance.loaclHpNum = tianziConfig.HPNum; |
| | | TianziBillboradManager.Instance.loaclNowHunt = TianziConfig.GetCurrentHPDamage(bossId, TianziBillboradManager.Instance.loaclAllHunt); |
| | | |
| | | // if (loaclMaxHp < nowHpMax || loaclHpNum < nowHpNum) |
| | | // { |
| | | // Debug.LogWarning($"TianziDamageBar hunt {hunt} loaclAllHunt {loaclAllHunt} loaclHpNum {loaclHpNum} loaclNowHunt {loaclNowHunt} nowHpNum {nowHpNum} nowHunt {nowHunt} nowHpMax{nowHpMax} 时间: {DateTime.Now:HH:mm:ss}"); |
| | | // return; |
| | | // } |
| | | |
| | | // if (loaclNowHunt < nowHunt) |
| | | // { |
| | | // Debug.LogWarning($"TianziDamageBar hunt {hunt} loaclAllHunt {loaclAllHunt} loaclHpNum {loaclHpNum} loaclNowHunt {loaclNowHunt} nowHpNum {nowHpNum} nowHunt {nowHunt} nowHpMax{nowHpMax} 时间: {DateTime.Now:HH:mm:ss}"); |
| | | // return; |
| | | // } |
| | | nowHunt = TianziBillboradManager.Instance.loaclNowHunt; |
| | | nowHpMax = TianziBillboradManager.Instance.loaclMaxHp; |
| | | nowHpNum = TianziBillboradManager.Instance.loaclHpNum; |
| | | // 除零保护 |
| | | float percentage = 0f; |
| | | if (nowHpMax > 0) |
| | | { |
| | | percentage = Mathf.Clamp(nowHunt, 0, nowHpMax) / (float)nowHpMax; |
| | | } |
| | | m_IntensifySlider.value = percentage; |
| | | m_IntensifySlider.stage = nowHpNum; |
| | | //Debug.Log($"TianziDamageBar hunt {hunt} loaclAllHunt {loaclAllHunt} loaclHpNum {loaclHpNum} loaclNowHunt {loaclNowHunt} nowHpNum {nowHpNum} nowHunt {nowHunt} nowHpMax{nowHpMax} 时间: {DateTime.Now:HH:mm:ss}"); |
| | | } |
| | | } |
| | | } |