少年修仙传客户端代码仓库
hch
2025-01-03 13898a8a7184ba96aa8320535f19d7f599e9d490
10331 【越南】【英语】【BT】【砍树】境界修改
7个文件已修改
2个文件已添加
247 ■■■■■ 已修改文件
System/Chat/UIFrame.cs 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/HeadPortraitTip.cs 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/UpgradeWin.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Realm/RealmBreakWin.cs 181 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Realm/RealmBreakWin.cs.meta 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Realm/RealmModel.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Realm/RealmPromoteWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Realm/RealmWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI/Effect/TimeMgr.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Chat/UIFrame.cs
@@ -19,6 +19,8 @@
    private float m_Interval = 0.1f;
    private int loopCount = 0;  //0表示无限循环
    private void Awake()
    {
        m_Image = GetComponent<Image>();
@@ -50,6 +52,7 @@
        }
        run = true;
        int timeLoopCount = loopCount * sprites.Count;  //计算总循环次数 动画的一个循环是所有图片播放一遍
        m_Image.overrideSprite = sprites[0];
        if (sprites.Count == 1)
@@ -63,13 +66,20 @@
        }
        TimeMgr.Instance.Register(m_Image, OnSpriteAnim, m_Interval, 0);
        TimeMgr.Instance.Register(m_Image, OnSpriteAnim, m_Interval, timeLoopCount);
    }
    void OnSpriteAnim(Component comp)
    {
        if (!run) return;
        if(sprites==null) {
        if (!TimeMgr.Instance.IsRegister(comp))
        {
            this.SetActive(false);
            return;
        }
        if (sprites==null) {
            TimeMgr.Instance.UnRegister(m_Image);
            return;
        }
@@ -78,9 +88,16 @@
        }
        m_Image.overrideSprite = sprites[index];
        index++;
        if (index >= sprites.Count) index = 0;
        if (index >= sprites.Count)
            index = 0;
    }
    public void SetLoopCount(int count)
    {
        loopCount = count;
    }
    private void OnDisable()
    {
        run = false;
System/MainInterfacePanel/HeadPortraitTip.cs
@@ -346,10 +346,20 @@
            }
        }
        void ShowLV()
        {
            var config = RealmConfig.Get(PlayerDatas.Instance.baseData.realmLevel);
            var beforeConfig = RealmConfig.Get(PlayerDatas.Instance.baseData.realmLevel - 1);
            int newRankLV = PlayerDatas.Instance.baseData.LV - beforeConfig.LVMax;
            _LVText.text = Language.Get("RealmLV1", Language.Get("LoadIconLV", PlayerDatas.Instance.baseData.LV),
                config.Name, Language.Get("L1091", UIHelper.ChineseNumber(newRankLV)));
        }
        void Initialize()//关于数据的初始化
        {
            GetLv = PlayerDatas.Instance.baseData.LV;
            _LVText.text = PlayerDatas.Instance.baseData.LV.ToString();//等级的初始化
            //_LVText.text = PlayerDatas.Instance.baseData.LV.ToString();//等级的初始化
            ShowLV();
            DisplayHp();
            _PowerNumbern.text = PlayerDatas.Instance.baseData.FightPoint.ToString();
@@ -376,7 +386,7 @@
                    _PowerNumbern.text = PlayerDatas.Instance.baseData.FightPoint.ToString();
                    break;
                case PlayerDataType.LV://等级的刷新8
                    _LVText.text = PlayerDatas.Instance.baseData.LV.ToString();
                    ShowLV();
                    if (PlayerDatas.Instance.baseData.LV > GetLv)
                    {
                        GetLv = PlayerDatas.Instance.baseData.LV;
System/MainInterfacePanel/UpgradeWin.cs
@@ -38,7 +38,7 @@
        protected override void OnPreOpen()
        {
            m_UIAlphaTween.SetStartState();
            m_UIAlphaTween2.SetStartState();
            //m_UIAlphaTween2.SetStartState();
            m_TextLV.text = PlayerDatas.Instance.baseData.LV.ToString();
            m_TextLV2.SetActive(false);
@@ -93,7 +93,7 @@
        {
            yield return new WaitForSeconds(Delay);
            m_UIAlphaTween.Play();
            m_UIAlphaTween2.Play();
            //m_UIAlphaTween2.Play();
        }
        #endregion
        private void windowBeforeClose(Window _window)
System/Realm/RealmBreakWin.cs
New file
@@ -0,0 +1,181 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Monday, April 22, 2019
//--------------------------------------------------------
using System;
using UnityEngine;
using UnityEngine.UI;
using DG.Tweening;
using System.Text;
namespace vnxbqy.UI
{
    //渡劫界面
    // 1. 计算有几道天雷
    // 2. 过场云打开
    // 3. 播放天雷动画 第几道 - 雷击动画 - 飘血动画(进度条变化)
    public class RealmBreakWin : Window
    {
        [SerializeField] RawImage rawPlayer;
        [SerializeField] UIEffect guochangyun;
        [SerializeField] RectTransform tianleiWord;
        [SerializeField] Image numImage;
        [SerializeField] UIFrame leiJiFrame;
        [SerializeField] Text hurtText;
        [SerializeField] IntensifySmoothSlider expSlider;
        [SerializeField] Text expText; //战力
        int flashCount = 0;
        int currentFlash = 0;
        ulong hurtValue = 0;
        ulong curFightPointValue = 0;
        ulong maxFightPointValue = 0;
        RealmModel model { get { return ModelCenter.Instance.GetModel<RealmModel>(); } }
        #region Built-in
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        {
        }
        protected override void OnPreOpen()
        {
            leiJiFrame.SetActive(false);
            hurtText.SetActive(false);
            tianleiWord.SetActive(false);
            //3-10道天雷,跨大境界就多一次
            flashCount = Math.Min(PlayerDatas.Instance.baseData.realmLevel / 4 + 3, 9);
            //每道天雷伤害为 战力的 flashCount+1分之一
            hurtValue = PlayerDatas.Instance.baseData.FightPoint / (ulong)(flashCount + 1);
            curFightPointValue = maxFightPointValue = PlayerDatas.Instance.baseData.FightPoint;
            currentFlash = 1;
            Display();
            WholeAnimate();
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
            UI3DModelExhibition.Instance.StopShow();
        }
        protected override void OnAfterClose()
        {
        }
        //protected override void LateUpdate()
        //{
        //}
        #endregion
        void Display()
        {
            UI3DModelExhibition.Instance.ShowSitDownPlayer(rawPlayer, PlayerDatas.Instance.baseData.Job);
        }
        void WholeAnimate()
        {
            var squences = DOTween.Sequence();
            if (currentFlash == 1)
            {
                guochangyun.Play();
                guochangyun.target.GetAnimator().speed = 2f;
                expText.text = StringUtility.Contact(Language.Get("MainInterfacePanel_HeadPortraitTip_ZL"), Language.Get("BlessedLand036", curFightPointValue, maxFightPointValue));
                expSlider.value = 1;
                squences.AppendInterval(0.5f);
            }
            //天道字
            squences.AppendCallback(() =>
            {
                numImage.SetSprite("DujieNum" + currentFlash);
                tianleiWord.transform.localScale = Vector3.one * 0.4f;
                tianleiWord.SetActive(true);
            });
            squences.Append(tianleiWord.transform.DOScale(1, 0.2f));
            squences.AppendInterval(0.2f);
            //雷击播放一次
            squences.AppendCallback(() =>
            {
                tianleiWord.SetActive(false);
                leiJiFrame.SetLoopCount(1);
                leiJiFrame.SetActive(true);
                SoundPlayer.Instance.PlayUIAudio(859);
            });
            squences.AppendInterval(0.2f);
            // 进度条变化
            squences.AppendCallback(() =>
            {
                curFightPointValue = curFightPointValue - hurtValue;
                expText.text = StringUtility.Contact(Language.Get("MainInterfacePanel_HeadPortraitTip_ZL"), Language.Get("BlessedLand036", curFightPointValue, maxFightPointValue));
                expSlider.delay = 0;
                expSlider.value = (float)curFightPointValue / maxFightPointValue;
            });
            //飘血动画
            squences.AppendCallback(() =>
            {
                hurtText.SetActive(true);
                hurtText.text = ConvertToArtFont("EnemyAttack", hurtValue + (ulong)UnityEngine.Random.Range(0, (int)hurtValue / (flashCount * 2)));
                hurtText.transform.localPosition = new Vector3(0, -100, 0);
                hurtText.transform.localScale = Vector3.one * 0.5f;
            });
            squences.Append(hurtText.transform.DOScale(2f, 0.1f));
            squences.Join(hurtText.transform.DOLocalMoveY(60, 0.1f));
            squences.Join(hurtText.DOFade(1, 0.1f));
            squences.Append(hurtText.transform.DOPunchPosition(new Vector3(0,30,0), 0.3f, 10));
            squences.AppendInterval(0.1f);
            squences.Append(hurtText.transform.DOScale(0.5f, 0.2f));
            squences.Join(hurtText.DOFade(0, 0.2f));
            //继续下一次到天雷结束
            squences.onComplete = () =>
            {
                currentFlash++;
                if (currentFlash <= flashCount)
                {
                    WholeAnimate();
                }
                else
                {
                    Close();
                    WindowCenter.Instance.Open<RealmPromoteWin>();
                }
            };
        }
        string ConvertToArtFont(string _key, ulong _num)
        {
            var config = DamageNumConfig.Get(_key);
            var stringBuild = new StringBuilder();
            stringBuild.Append((char)config.minus);
            var chars = _num.ToString();
            for (var i = 0; i < chars.Length; i++)
            {
                var numChar = config.nums[(int)chars[i] - 48];
                if (numChar > 0)
                {
                    stringBuild.Append((char)numChar);
                }
            }
            return stringBuild.ToString();
        }
    }
}
System/Realm/RealmBreakWin.cs.meta
New file
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 8b5e413d7809cb74880d68bdcb1023e1
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/Realm/RealmModel.cs
@@ -169,14 +169,15 @@
        void ParseConfig()
        {
            realmMaxLevel = 0;
            List<int> stages = new List<int>();
            m_RealmStages.Add(stages);
            var configs = RealmConfig.GetValues();
            realmMaxLevel = configs.Count - 1;
            foreach (var config in configs)
            {
                if (config.Lv > realmMaxLevel)
                {
                    realmMaxLevel = config.Lv;
                    break;
                }
                if (config.Lv != 0)
System/Realm/RealmPromoteWin.cs
@@ -68,7 +68,7 @@
        protected override void LateUpdate()
        {
            timer += Time.deltaTime;
            if (timer >= 2f)
            if (timer >= 1f)
            {
                if (!m_CloseRemind.gameObject.activeSelf)
                {
System/Realm/RealmWin.cs
@@ -301,7 +301,7 @@
                    //    TryStartAnimation();
                    //}
                    WindowCenter.Instance.Open<RealmPromoteWin>();
                    WindowCenter.Instance.Open<RealmBreakWin>();
                }
                m_RealmBrief.Display();
                
UI/Effect/TimeMgr.cs
@@ -183,6 +183,11 @@
        }
    }
    public bool IsRegister(Component comp)
    {
        return timeItems.ContainsKey(comp);
    }
    public void Register(SyntonyType type, float _totalTime, Action _func = null)
    {
        int index;