少年修仙传客户端代码仓库
Client_PangDeRong
2018-11-26 ff069b9de2639c1933b97a568c7ed265f02d4fc8
4534 【1.3】【前端】组队功能和助战积分优化
7个文件已修改
2个文件已添加
302 ■■■■■ 已修改文件
Core/GameEngine/Model/Config/DungeonOpenTimeConfig.cs 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/DungeonOpenTimeConfig.cs.meta 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HB2_ActionMap/HB205_tagMCHelpBattleCheckInResult.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonAssistModel.cs 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonAssistWin.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonGetXianYuanCoinsBehvaiour.cs 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonGetXianYuanCoinsBehvaiour.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Store/StoreWin.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/UIHelper.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/DungeonOpenTimeConfig.cs
@@ -1,6 +1,6 @@
//--------------------------------------------------------
//    [Author]:            第二世界
//    [  Date ]:           Monday, November 12, 2018
//    [  Date ]:           Monday, November 26, 2018
//--------------------------------------------------------
using UnityEngine;
@@ -11,27 +11,28 @@
    
    public partial class DungeonOpenTimeConfig : ConfigBase {
        public int DataMapID { get ; private set ; }
        public string FBName { get ; private set; }
        public int CanEnterTime { get ; private set ; }
        public int DayTimes { get ; private set ; }
        public int DayReKind { get ; private set ; }
        public int WeekTimes { get ; private set ; }
        public int WeekReKind { get ; private set ; }
        public int FBType { get ; private set ; }
        public int[] RewardRate;
        public int BuyTimesID { get ; private set ; }
        public int ExtraTimesID { get ; private set ; }
        public int DeathTime { get ; private set ; }
        public int GuardPick { get ; private set ; }
        public int DoFight { get ; private set ; }
        public int HelpPoint { get ; private set ; }
        public int DelayTime { get ; private set ; }
        public int Movable { get ; private set ; }
        public int Skillable { get ; private set ; }
        public int SelectPlayerable { get ; private set ; }
        public string ExitDescription { get ; private set; }
        public string PanelImg { get ; private set; }
        public int DataMapID { get ; private set ; }
        public string FBName { get ; private set; }
        public int CanEnterTime { get ; private set ; }
        public int DayTimes { get ; private set ; }
        public int DayReKind { get ; private set ; }
        public int WeekTimes { get ; private set ; }
        public int WeekReKind { get ; private set ; }
        public int FBType { get ; private set ; }
        public int[] RewardRate;
        public int BuyTimesID { get ; private set ; }
        public int ExtraTimesID { get ; private set ; }
        public int DeathTime { get ; private set ; }
        public int GuardPick { get ; private set ; }
        public int DoFight { get ; private set ; }
        public int FBPoint { get ; private set ; }
        public int HelpPoint { get ; private set ; }
        public int DelayTime { get ; private set ; }
        public int Movable { get ; private set ; }
        public int Skillable { get ; private set ; }
        public int SelectPlayerable { get ; private set ; }
        public string ExitDescription { get ; private set; }
        public string PanelImg { get ; private set; }
        public int[] ElixirHint;
        public override string getKey()
@@ -42,54 +43,56 @@
        public override void Parse() {
            try
            {
                DataMapID=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0;
                FBName = rawContents[1].Trim();
                CanEnterTime=IsNumeric(rawContents[2]) ? int.Parse(rawContents[2]):0;
                DayTimes=IsNumeric(rawContents[3]) ? int.Parse(rawContents[3]):0;
                DayReKind=IsNumeric(rawContents[4]) ? int.Parse(rawContents[4]):0;
                WeekTimes=IsNumeric(rawContents[5]) ? int.Parse(rawContents[5]):0;
                WeekReKind=IsNumeric(rawContents[6]) ? int.Parse(rawContents[6]):0;
                FBType=IsNumeric(rawContents[7]) ? int.Parse(rawContents[7]):0;
                DataMapID=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0;
                FBName = rawContents[1].Trim();
                CanEnterTime=IsNumeric(rawContents[2]) ? int.Parse(rawContents[2]):0;
                DayTimes=IsNumeric(rawContents[3]) ? int.Parse(rawContents[3]):0;
                DayReKind=IsNumeric(rawContents[4]) ? int.Parse(rawContents[4]):0;
                WeekTimes=IsNumeric(rawContents[5]) ? int.Parse(rawContents[5]):0;
                WeekReKind=IsNumeric(rawContents[6]) ? int.Parse(rawContents[6]):0;
                FBType=IsNumeric(rawContents[7]) ? int.Parse(rawContents[7]):0;
                string[] RewardRateStringArray = rawContents[8].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                RewardRate = new int[RewardRateStringArray.Length];
                for (int i=0;i<RewardRateStringArray.Length;i++)
                {
                     int.TryParse(RewardRateStringArray[i],out RewardRate[i]);
                }
                BuyTimesID=IsNumeric(rawContents[9]) ? int.Parse(rawContents[9]):0;
                ExtraTimesID=IsNumeric(rawContents[10]) ? int.Parse(rawContents[10]):0;
                DeathTime=IsNumeric(rawContents[11]) ? int.Parse(rawContents[11]):0;
                GuardPick=IsNumeric(rawContents[12]) ? int.Parse(rawContents[12]):0;
                DoFight=IsNumeric(rawContents[13]) ? int.Parse(rawContents[13]):0;
                HelpPoint=IsNumeric(rawContents[14]) ? int.Parse(rawContents[14]):0;
                DelayTime=IsNumeric(rawContents[15]) ? int.Parse(rawContents[15]):0;
                Movable=IsNumeric(rawContents[16]) ? int.Parse(rawContents[16]):0;
                Skillable=IsNumeric(rawContents[17]) ? int.Parse(rawContents[17]):0;
                SelectPlayerable=IsNumeric(rawContents[18]) ? int.Parse(rawContents[18]):0;
                ExitDescription = rawContents[19].Trim();
                PanelImg = rawContents[20].Trim();
                string[] ElixirHintStringArray = rawContents[21].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                }
                BuyTimesID=IsNumeric(rawContents[9]) ? int.Parse(rawContents[9]):0;
                ExtraTimesID=IsNumeric(rawContents[10]) ? int.Parse(rawContents[10]):0;
                DeathTime=IsNumeric(rawContents[11]) ? int.Parse(rawContents[11]):0;
                GuardPick=IsNumeric(rawContents[12]) ? int.Parse(rawContents[12]):0;
                DoFight=IsNumeric(rawContents[13]) ? int.Parse(rawContents[13]):0;
                FBPoint=IsNumeric(rawContents[14]) ? int.Parse(rawContents[14]):0;
                HelpPoint=IsNumeric(rawContents[15]) ? int.Parse(rawContents[15]):0;
                DelayTime=IsNumeric(rawContents[16]) ? int.Parse(rawContents[16]):0;
                Movable=IsNumeric(rawContents[17]) ? int.Parse(rawContents[17]):0;
                Skillable=IsNumeric(rawContents[18]) ? int.Parse(rawContents[18]):0;
                SelectPlayerable=IsNumeric(rawContents[19]) ? int.Parse(rawContents[19]):0;
                ExitDescription = rawContents[20].Trim();
                PanelImg = rawContents[21].Trim();
                string[] ElixirHintStringArray = rawContents[22].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries);
                ElixirHint = new int[ElixirHintStringArray.Length];
                for (int i=0;i<ElixirHintStringArray.Length;i++)
                {
Core/GameEngine/Model/Config/DungeonOpenTimeConfig.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: bf6b02af80ae8d84c9c211ed6753c6b6
timeCreated: 1542014433
timeCreated: 1543212717
licenseType: Pro
MonoImporter:
  serializedVersion: 2
Core/NetworkPackage/ServerPack/HB2_ActionMap/HB205_tagMCHelpBattleCheckInResult.cs
@@ -5,6 +5,7 @@
public class HB205_tagMCHelpBattleCheckInResult : GameNetPackBasic {
    public byte IsOK;    //是否成功
    public byte IsLogin;    //是否登录同步已登记
    public HB205_tagMCHelpBattleCheckInResult () {
        _cmd = (ushort)0xB205;
@@ -12,6 +13,7 @@
    public override void ReadFromBytes (byte[] vBytes) {
        TransBytes (out IsOK, vBytes, NetDataType.BYTE);
        TransBytes (out IsLogin, vBytes, NetDataType.BYTE);
    }
}
System/Dungeon/DungeonAssistModel.cs
@@ -28,6 +28,7 @@
            assistResults.Clear();
            assistRefreshNum = 0;
            IsCheckInOk = false;
            IsRegisterToday = false;
            assistPlayerDict.Clear();
        }
@@ -54,6 +55,42 @@
                remainNum = (freeRefreshNum + goldRefreshNum) - assistRefreshNum;
            }
            return assistRefreshNum < freeRefreshNum;
        }
        public bool TryGetRewardAdd(out int addCoins)
        {
            addCoins = 0;
            foreach (var key in assistPlayerDict.Keys)
            {
                var info = assistPlayerDict[key];
                if (info.IsAssist)
                {
                    addCoins += info.GetAddCoins();
                }
            }
            return addCoins > 0;
        }
        public bool TryGetCurVipAddRatio(out string addRatioStr)
        {
            addRatioStr = string.Empty;
            int vipLv = PlayerDatas.Instance.baseData.VIPLv;
            var vipDict = VipPrivilegeConfig.GetVipPrivilegeDic(VipPrivilegeType.AssistXianYuanCoinsRatioAdd);
            if (vipDict == null || vipLv < 1) return false;
            List<int> vipLvlist = vipDict.Keys.ToList();
            vipLvlist.Sort();
            for (int i = vipLvlist.Count - 1; i > -1; i--)
            {
                var lv = vipLvlist[i];
                var addRatio = vipDict[lv];
                if (vipLv >= lv && addRatio > 0)
                {
                    var ratio = (float)addRatio / 100;
                    addRatioStr = StringUtility.Contact(ratio, "%");
                    return true;
                }
            }
            return false;
        }
        public bool IsMaxAssistCoinsAddByVip(out int nextVipLv,out int coins)
@@ -388,10 +425,12 @@
        #region 助战登记
        public bool IsCheckInOk { get; private set; }
        public bool IsRegisterToday { get; private set; }
        public event Action UpdateCheckInResultEvent;
        public void UpdateAssistCheckInResult(HB205_tagMCHelpBattleCheckInResult checkInResult)
        {
            IsCheckInOk = checkInResult.IsOK == 1;
            IsRegisterToday = checkInResult.IsLogin == 1;
            if (UpdateCheckInResultEvent != null)
            {
                UpdateCheckInResultEvent();
@@ -430,6 +469,7 @@
            assistResult.relatedToPlayer = (RelatedToPlayer)0;
            assistResult.vipLv = PlayerDatas.Instance.baseData.LV;
            assistResult.createTime = ToDisplay();
            assistResult.SetNotifyResult();
            assistResults.Add(assistResult);
        }
@@ -678,6 +718,22 @@
            public int IsNeedGold { get; private set; }           // 是否需要仙玉召唤
            public RelatedToPlayer relatedToPlayer { get; private set;} //与玩家的关系
            public bool IsAssist
            {
                get
                {
                    return ObjID != 0;
                }
            }
            public bool IsGoldAssist
            {
                get
                {
                    return IsNeedGold != 0;
                }
            }
            DungeonAssistModel assistModel { get { return ModelCenter.Instance.GetModel<DungeonAssistModel>(); }}
            public AssistPlayerInfo(HB207_tagMCHelpBattleList.tagMCHelpBattlePlayer battlePlayer)
@@ -718,20 +774,19 @@
                ObjID = _objId;
            }
            public bool IsAssist
            public int GetAddCoins()
            {
                get
                int addCoins = 0;
                switch (relatedToPlayer)
                {
                    return ObjID != 0;
                    case RelatedToPlayer.Friend:
                        addCoins = assistModel.GetAssistReward(1);
                        break;
                    case RelatedToPlayer.Ally:
                        addCoins = assistModel.GetAssistReward(1);
                        break;
                }
            }
            public bool IsGoldAssist
            {
                get
                {
                    return IsNeedGold != 0;
                }
                return addCoins;
            }
        }
System/Dungeon/DungeonAssistWin.cs
@@ -66,7 +66,8 @@
            CreateResultCell();
            UpdateRegisterBtn();
            UpdateVipAddCoins();
            dungeonScoreText.text = UIHelper.GetMoneyCnt(16).ToString();
            UpdateXianYuanCoins();
            dungeonScoreText.text = UIHelper.GetMoneyCnt(17).ToString();
        }
        private void CreateResultCell()
System/Dungeon/DungeonGetXianYuanCoinsBehvaiour.cs
New file
@@ -0,0 +1,69 @@
using TableConfig;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI
{
    public class DungeonGetXianYuanCoinsBehvaiour : MonoBehaviour
    {
        [SerializeField] Text getCoinsText;
        DungeonModel m_Model;
        DungeonModel model
        {
            get
            {
                return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<DungeonModel>());
            }
        }
        private void OnEnable()
        {
            SetDisplay();
        }
        public void SetDisplay()
        {
            var dungeonOpenTime = Config.Instance.Get<DungeonOpenTimeConfig>(PlayerDatas.Instance.baseData.MapID);
            string xianYuanCoinsInfo = string.Empty;
            if (dungeonOpenTime != null)
            {
                if (dungeonOpenTime.FBPoint != 0)
                {
                    var assistModel = ModelCenter.Instance.GetModel<DungeonAssistModel>();
                    int addCoins = 0;
                    bool isAddCoins = assistModel.TryGetRewardAdd(out addCoins);
                    string addRatio = string.Empty;
                    bool isVipAddRatio = assistModel.TryGetCurVipAddRatio(out addRatio);
                    if (isAddCoins)
                    {
                        xianYuanCoinsInfo = Language.Get("DungeonAssist141", StringUtility.Contact(dungeonOpenTime.FBPoint, "+", addCoins));
                    }
                    else
                    {
                        xianYuanCoinsInfo = Language.Get("DungeonAssist141", dungeonOpenTime.FBPoint);
                    }
                    if (isVipAddRatio)
                    {
                        xianYuanCoinsInfo = StringUtility.Contact(xianYuanCoinsInfo, "\n", Language.Get("DungeonAssist142", Language.Get("DungeonAssist143", addRatio)));
                    }
                    else
                    {
                        xianYuanCoinsInfo = StringUtility.Contact(xianYuanCoinsInfo, "\n", Language.Get("DungeonAssist142", Language.Get("Market_Text_33")));
                    }
                    getCoinsText.text = xianYuanCoinsInfo;
                    this.gameObject.SetActive(true);
                }
                else
                {
                    this.gameObject.SetActive(false);
                }
            }
            else
            {
                this.gameObject.SetActive(false);
            }
        }
    }
}
System/Dungeon/DungeonGetXianYuanCoinsBehvaiour.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 659b4a5199f2392488e7f026c82129ad
timeCreated: 1543211375
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/Store/StoreWin.cs
@@ -266,7 +266,7 @@
        {
            _coinsType1.text = UIHelper.GetMoneyCnt(1).ToString();
            _coinsType2.text = UIHelper.GetMoneyCnt(2).ToString();
            _coinsType3.text = modelInterface.OnChangeCoinsUnit(UIHelper.GetMoneyCnt(16));
            _coinsType3.text = modelInterface.OnChangeCoinsUnit(UIHelper.GetMoneyCnt(17));
        }
        private void OnCreate()
Utility/UIHelper.cs
@@ -679,7 +679,7 @@
                {
                    return (ulong)ModelCenter.Instance.GetModel<StoreModel>().GetTCBPlayerData(PlayerDataRefresh.UnionLiven);
                }
            case 16:
            case 17:
                {
                    return (ulong)ModelCenter.Instance.GetModel<StoreModel>().GetTCBPlayerData(PlayerDataRefresh.FBHelpPoint);
                }