hch
60 分钟以前 e95a97e663ba46ed474c89425dd92516a0d9b7dd
Merge branch 'master' of http://mobile.secondworld.net.cn:10010/r/Project_SG_scripts
8个文件已修改
6个文件已添加
289 ■■■■■ 已修改文件
Main/Component/UI/Common/BossLifeBar.cs 153 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Component/UI/Common/BossLifeBar.cs.meta 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB424_tagSCTurnFightInit.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Battle/BattleField/ArenaBattleField.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Battle/BattleField/BattleField.cs 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Battle/BattleField/BoneBattleField.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Battle/BattleField/StoryBattleField.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Battle/BattleField/StoryBossBattleField.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Battle/BattleManager.cs 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Battle/StoryBossBattleWin.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Battle/UIComp/BossHeadCell.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Battle/UIComp/BossHeadCell.cs.meta 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Battle/UIComp/TotalDamageDisplayer.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Battle/UIComp/TotalDamageDisplayer.cs.meta 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Component/UI/Common/BossLifeBar.cs
New file
@@ -0,0 +1,153 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Monday, September 11, 2017
//--------------------------------------------------------
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using System.Text;
public class BossLifeBar : MonoBehaviour
{
    [SerializeField] Sprite[] m_LifeBarSprites;
    [SerializeField] Image m_BackGround;
    [SerializeField] Image m_MiddleGround;
    [SerializeField] Image m_PrefaceGround;
    [SerializeField] Slider m_SliderMiddleground;
    [SerializeField] Slider m_SliderForeground;
    [SerializeField] Text m_Surplus;
    [SerializeField] Text m_SurplusPercent;
    [SerializeField] float m_SmoothTime = 0.3f;
    public float smoothTime {
        get { return m_SmoothTime; }
    }
    Pattern pattern = Pattern.Reduce;
    float targetValue = 0f;
    int totalSegments = 1;
    int surplusSegments = -1;
    float refValue = 0f;
    float timer = 0f;
    float behaviourStartValue = 0f;
    float m_CurrentBehaviourValue = 0f;
    float currentBehaviourValue {
        get { return m_CurrentBehaviourValue; }
        set {
            m_CurrentBehaviourValue = value;
            UpdateSurplusSegments(currentBehaviourValue);
            var behaviourDecimalValue = m_CurrentBehaviourValue - (int)m_CurrentBehaviourValue;
            var trueDecimalValue = targetValue - (int)targetValue;
            switch (pattern)
            {
                case Pattern.Add:
                    m_SliderForeground.value = behaviourDecimalValue;
                    m_SliderMiddleground.value = behaviourDecimalValue > trueDecimalValue ? 1f : trueDecimalValue;
                    break;
                case Pattern.Reduce:
                    m_SliderMiddleground.value = behaviourDecimalValue;
                    m_SliderForeground.value = behaviourDecimalValue < trueDecimalValue ? 0 : trueDecimalValue;
                    break;
                case Pattern.None:
                    m_SliderMiddleground.value = behaviourDecimalValue;
                    m_SliderForeground.value = behaviourDecimalValue;
                    break;
            }
        }
    }
    public void SetBaseInfo(int _npcId, ulong _hp, ulong _maxHp, int _level)
    {
        var npcConfig = NPCConfig.Get(_npcId);
        HeroSkinConfig skinConfig = HeroSkinConfig.Get(npcConfig.SkinID);
        surplusSegments = -1;
        totalSegments = npcConfig.LifeBarCount;
        targetValue = currentBehaviourValue = ((float)_hp / _maxHp) * totalSegments - 0.0001f;
        var behaviourDecimalValue = currentBehaviourValue - (int)currentBehaviourValue;
        m_SliderForeground.value = m_SliderMiddleground.value = behaviourDecimalValue;
        refValue = 0f;
    }
    public void Show(ulong _hp, ulong _maxHp)
    {
        var percentage = Mathf.Clamp(_hp, 0, _maxHp) / (float)_maxHp;
        var tempValue = totalSegments * percentage - 0.00001f;
        pattern = tempValue > targetValue ? Pattern.Add : tempValue < targetValue ? Pattern.Reduce : Pattern.None;
        behaviourStartValue = currentBehaviourValue;
        targetValue = tempValue;
        timer = 0f;
        refValue = 0f;
    }
    private void LateUpdate()
    {
        if (Mathf.Abs(currentBehaviourValue - targetValue) > 0.00001f)
        {
            var newValue = Mathf.SmoothDamp(currentBehaviourValue, targetValue, ref refValue, smoothTime);
            currentBehaviourValue = newValue;
        }
    }
    static StringBuilder stringBuild = new StringBuilder();
    private void UpdateSurplusSegments(float _targetValue)
    {
        var currentSurplus = Mathf.CeilToInt(_targetValue);
        if (currentSurplus != surplusSegments)
        {
            surplusSegments = currentSurplus;
            var colorSetLength = m_LifeBarSprites.Length;
            var index = surplusSegments % colorSetLength;
            var nextIndex = index == 0 ? colorSetLength - 1 : index - 1;
            m_PrefaceGround.overrideSprite = m_LifeBarSprites[index];
            m_MiddleGround.overrideSprite = m_LifeBarSprites[index];
            m_BackGround.overrideSprite = m_LifeBarSprites[nextIndex];
            m_BackGround.SetActive(surplusSegments > 1);
            // var chars = surplusSegments.ToString();
            // stringBuild.Remove(0, stringBuild.Length);
            // for (var i = 0; i < chars.Length; i++)
            // {
            //     var numChar = GetNumKey(chars[i]);
            //     if (numChar > 0)
            //     {
            //         stringBuild.Append((char)numChar);
            //     }
            // }
            m_Surplus.text = surplusSegments.ToString();
            m_SurplusPercent.text = Mathf.CeilToInt((_targetValue / totalSegments) * 100f).ToString() + "%";
        }
    }
    // int GetNumKey(int _num)
    // {
    //     var config = DamageNumConfig.Get("BossLifeBarSurplusNum");
    //     return config.nums[_num - 48];
    // }
    enum Pattern
    {
        None,
        Add,
        Reduce,
    }
}
Main/Component/UI/Common/BossLifeBar.cs.meta
New file
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: f07a44456b77973408de0848b6e737c7
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Main/Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB424_tagSCTurnFightInit.cs
@@ -61,7 +61,7 @@
        JsonData extendData = JsonMapper.ToObject(vNetData.Msg);
        string guid = BattleManager.Instance.GetGUID(vNetPack.packUID);
        BattleField battleField = BattleManager.Instance.CreateBattleField(guid, (int)vNetData.MapID, (int)vNetData.FuncLineID, extendData, redTeamList, blueTeamList);
        BattleField battleField = BattleManager.Instance.CreateBattleField(guid, vNetData, extendData, redTeamList, blueTeamList);
        BattleStartAction battleStartAction = new BattleStartAction(battleField);
        battleField.recordPlayer.PlayRecord(battleStartAction);
Main/System/Battle/BattleField/ArenaBattleField.cs
@@ -21,9 +21,9 @@
    }
    public override void Init(int MapID, int FuncLineID, JsonData _extendData,
        List<TeamBase> _redTeamList, List<TeamBase> _blueTeamList)
        List<TeamBase> _redTeamList, List<TeamBase> _blueTeamList, byte turnMax)
    {
        base.Init(MapID, FuncLineID, extendData, _redTeamList, _blueTeamList);
        base.Init(MapID, FuncLineID, extendData, _redTeamList, _blueTeamList, turnMax);
        chapter = FuncLineID / 10000;
        wave = MapID == 1 ? FuncLineID % 100 : 1;//第几波怪
Main/System/Battle/BattleField/BattleField.cs
@@ -17,6 +17,8 @@
    public IOperationAgent operationAgent;
    public byte turnMax;
    public int round = 0;
    public string guid = string.Empty;//等于string.Empty的时候代表是StoryBattleField 是主线副本
@@ -99,13 +101,14 @@
    }
    public virtual void Init(int _MapID, int _FuncLineID, JsonData _extendData,
        List<TeamBase> _redTeamList, List<TeamBase> _blueTeamList)
        List<TeamBase> _redTeamList, List<TeamBase> _blueTeamList, byte turnMax)
    {
        MapID = _MapID;
        redTeamList = _redTeamList;
        blueTeamList = _blueTeamList;
        FuncLineID = _FuncLineID;
        extendData = _extendData;
        this.turnMax = turnMax;
        redTeamIndex = 0;
        blueTeamIndex = 0;
Main/System/Battle/BattleField/BoneBattleField.cs
@@ -22,9 +22,9 @@
    }
    public override void Init(int MapID, int FuncLineID, JsonData _extendData,
        List<TeamBase> _redTeamList, List<TeamBase> _blueTeamList)
        List<TeamBase> _redTeamList, List<TeamBase> _blueTeamList, byte turnMax)
    {
        base.Init(MapID, FuncLineID, extendData, _redTeamList, _blueTeamList);
        base.Init(MapID, FuncLineID, extendData, _redTeamList, _blueTeamList, turnMax);
        chapter = FuncLineID / 10000;
        wave = MapID == 1 ? FuncLineID % 100 : 1;//第几波怪
Main/System/Battle/BattleField/StoryBattleField.cs
@@ -36,9 +36,9 @@
    }
    public override void Init(int MapID, int FuncLineID, JsonData _extendData,
        List<TeamBase> _redTeamList, List<TeamBase> _blueTeamList)
        List<TeamBase> _redTeamList, List<TeamBase> _blueTeamList, byte turnMax)
    {
        base.Init(MapID, FuncLineID, extendData, _redTeamList, _blueTeamList);
        base.Init(MapID, FuncLineID, extendData, _redTeamList, _blueTeamList, turnMax);
        if (null == _blueTeamList || _blueTeamList.Count == 0)
        {
Main/System/Battle/BattleField/StoryBossBattleField.cs
@@ -22,9 +22,9 @@
    }
    public override void Init(int MapID, int FuncLineID, JsonData _extendData,
        List<TeamBase> _redTeamList, List<TeamBase> _blueTeamList)
        List<TeamBase> _redTeamList, List<TeamBase> _blueTeamList, byte turnMax)
    {
        base.Init(MapID, FuncLineID, extendData, _redTeamList, _blueTeamList);
        base.Init(MapID, FuncLineID, extendData, _redTeamList, _blueTeamList, turnMax);
        chapter = FuncLineID / 10000;
        wave = MapID == 1 ? FuncLineID % 100 : 1;//第几波怪
Main/System/Battle/BattleManager.cs
@@ -84,7 +84,11 @@
            redTeamList.Add(storyTeam);
            CreateBattleField(string.Empty, MapID, FuncLineID, extendData, redTeamList, blueTeamList);
            HB424_tagSCTurnFightInit vNetData = new HB424_tagSCTurnFightInit();
            vNetData.MapID = (uint)MapID;
            vNetData.FuncLineID = (uint)FuncLineID;
            CreateBattleField(string.Empty, vNetData, extendData, redTeamList, blueTeamList);
        }
        else
        {
@@ -455,9 +459,12 @@
    }
    #endregion
    public BattleField CreateBattleField(string guid, int MapID, int FuncLineID, JsonData extendData, List<TeamBase> redTeamList, List<TeamBase> blueTeamList)
    public BattleField CreateBattleField(string guid, HB424_tagSCTurnFightInit vNetData, JsonData extendData, List<TeamBase> redTeamList, List<TeamBase> blueTeamList)
    {
        BattleField battleField = null;
        int MapID = (int)vNetData.MapID;
        int FuncLineID = (int)vNetData.FuncLineID;
        bool isCreate = true;
        if (battleFields.TryGetValue(guid, out battleField))
@@ -475,7 +482,7 @@
        }
        if (isCreate)
        {
        {
            battleField = BattleFieldFactory.CreateBattleField(guid, MapID, FuncLineID, extendData, redTeamList, blueTeamList);
            if (string.IsNullOrEmpty(guid))
@@ -488,7 +495,7 @@
        battleField.Init(MapID, FuncLineID, extendData, redTeamList, blueTeamList);
        battleField.Init(MapID, FuncLineID, extendData, redTeamList, blueTeamList, vNetData.TurnMax);
        return battleField;
    }
Main/System/Battle/StoryBossBattleWin.cs
@@ -27,6 +27,19 @@
    public RendererAdjuster buttonsAdjuster;
    public BossLifeBar bossLifeBar;
    public SkillWordCell[] skillWordCells;
    public BossHeadCell bossHeadCell;
    public Text txtBossName;
    public Text txtBattleRound;
    public TotalDamageDisplayer totalDamageDisplayer;
    // 生命周期
    protected override void InitComponent()
    {
Main/System/Battle/UIComp/BossHeadCell.cs
New file
@@ -0,0 +1,20 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class BossHeadCell : MonoBehaviour
{
    public Image imgFrame;
    public Image imgIcon;
    public Image imgDecoration;
    public Text txtLv;
    public void SetTeamHero(TeamHero teamHero)
    {
    }
}
Main/System/Battle/UIComp/BossHeadCell.cs.meta
New file
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: d9ef8620f499f5249843e4a454d4fbe3
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Main/System/Battle/UIComp/TotalDamageDisplayer.cs
New file
@@ -0,0 +1,32 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class TotalDamageDisplayer : MonoBehaviour
{
    public Image damageBackground;
    public Text textDamage;
    public Text textTotalDesc; //总伤害或者总治疗
    public void SetDamage(bool isEnd, BattleDmgInfo dmgInfo)
    {
        if (dmgInfo == null)
        {
            return;
        }
        if (dmgInfo.IsType(DamageType.Recovery))
        {
        }
        else if (dmgInfo.IsType(DamageType.Damage) || dmgInfo.IsType(DamageType.Realdamage))
        {
        }
    }
}
Main/System/Battle/UIComp/TotalDamageDisplayer.cs.meta
New file
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 5052e62895312ba43a5bd9b0e3c8edb1
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant: