少年修仙传客户端代码仓库
client_Zxw
2018-09-27 d324ff0743f425e272bda458f548c1d194f22a85
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
11个文件已添加
13个文件已修改
881 ■■■■ 已修改文件
Core/GameEngine/DataToCtl/PackageRegedit.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ClientPack/ClientToMapServer/CA1_Sys.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ClientPack/ClientToMapServer/CA1_Sys/CA122_tagUpdatePlayerName.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ClientPack/ClientToMapServer/CA1_Sys/CA122_tagUpdatePlayerName.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HA9_Function/DTCA921_tagUpdatePlayerNameResult.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HA9_Function/DTCA921_tagUpdatePlayerNameResult.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HA9_Function/HA921_tagUpdatePlayerNameResult.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HA9_Function/HA921_tagUpdatePlayerNameResult.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dogz/DogzActiveWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dogz/DogzModel.cs 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonAncientKingWin.cs 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonAncientKingWin.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonAncientTargetWin.cs 110 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonFightWin.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/GeneralConfig/GeneralConfig.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Role/RoleModel.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Role/RoleRenameWin.cs 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Role/RoleRenameWin.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Skill/QuickSetting.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasureComponent.cs 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasureModel.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/TreasureSelectWin.cs 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Treasure/UI3DTreasureSelectStage.cs 155 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/EnumHelper.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/DataToCtl/PackageRegedit.cs
@@ -166,7 +166,7 @@
        Register(typeof(HA814_tagMCMakeItemAnswer), typeof(DTCA814_tagMCMakeItemAnswer));   //得到合成结果回应
        Register(typeof(HA317_tagMCAllEquipAttrActiveInfo), typeof(DTCA317_tagMCAllEquipAttrActiveInfo));   //得到激活全身星级和全身强化的信息
        Register(typeof(HA321_tagMCPrayElixirResult), typeof(DTCA321_tagMCPrayElixirResult)); //祈福丹药结果
        Register(typeof(HA921_tagUpdatePlayerNameResult), typeof(DTCA921_tagUpdatePlayerNameResult)); //玩家改名
        #region 背包
        Register(typeof(H0724_tagRolePackCanUseCount), typeof(DTC0724_tagRolePackCanUseCount));
        Register(typeof(H0704_tagRolePackRefresh), typeof(DTC0704_tagRolePackRefresh));
Core/NetworkPackage/ClientPack/ClientToMapServer/CA1_Sys.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 07973e7d7a8d7dc499729078a1b20c19
folderAsset: yes
timeCreated: 1538027291
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ClientPack/ClientToMapServer/CA1_Sys/CA122_tagUpdatePlayerName.cs
New file
@@ -0,0 +1,24 @@
using UnityEngine;
using System.Collections;
//A1 22 角色改名 #tagUpdatePlayerName
public class CA122_tagUpdatePlayerName : GameNetPackBasic {
    public byte NewNameLen;
    public string NewName;
    public byte ItemIndex;    //改名物品在背包中的位置
    public uint ServerID;
    public CA122_tagUpdatePlayerName () {
        combineCmd = (ushort)0x03FE;
        _cmd = (ushort)0xA122;
    }
    public override void WriteToBytes () {
        WriteBytes (NewNameLen, NetDataType.BYTE);
        WriteBytes (NewName, NetDataType.Chars, NewNameLen);
        WriteBytes (ItemIndex, NetDataType.BYTE);
        WriteBytes (ServerID, NetDataType.DWORD);
    }
}
Core/NetworkPackage/ClientPack/ClientToMapServer/CA1_Sys/CA122_tagUpdatePlayerName.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: f1760446cb920c8429e4e5a021a6452b
timeCreated: 1538027291
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/DTCFile/ServerPack/HA9_Function/DTCA921_tagUpdatePlayerNameResult.cs
New file
@@ -0,0 +1,20 @@
using UnityEngine;
using System.Collections;
using Snxxz.UI;
//A9 21 角色改名结果 #tagUpdatePlayerNameResult
public class DTCA921_tagUpdatePlayerNameResult : DtcBasic {
    RoleModel roleModel { get { return ModelCenter.Instance.GetModel<RoleModel>(); } }
    public override void Done(GameNetPackBasic vNetPack) {
        base.Done(vNetPack);
        HA921_tagUpdatePlayerNameResult vNetData = vNetPack as HA921_tagUpdatePlayerNameResult;
        roleModel.ServerRenameResult(vNetData);
    }
}
Core/NetworkPackage/DTCFile/ServerPack/HA9_Function/DTCA921_tagUpdatePlayerNameResult.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 104734d3ab0b9eb4282d52f46be5f76c
timeCreated: 1538027291
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ServerPack/HA9_Function/HA921_tagUpdatePlayerNameResult.cs
New file
@@ -0,0 +1,17 @@
using UnityEngine;
using System.Collections;
//A9 21 角色改名结果 #tagUpdatePlayerNameResult
public class HA921_tagUpdatePlayerNameResult : GameNetPackBasic {
    public byte Result;    //角色改名结果
    public HA921_tagUpdatePlayerNameResult () {
        _cmd = (ushort)0xA921;
    }
    public override void ReadFromBytes (byte[] vBytes) {
        TransBytes (out Result, vBytes, NetDataType.BYTE);
    }
}
Core/NetworkPackage/ServerPack/HA9_Function/HA921_tagUpdatePlayerNameResult.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 658f4d57fa7989c47ab85b6bdaf40211
timeCreated: 1538027291
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/Dogz/DogzActiveWin.cs
@@ -101,7 +101,7 @@
                }
                m_Controller.Restart();
            }
            int jumpIndex = model.presentSelectDogz - 1 > 0 ? model.presentSelectDogz - 1 : 0;
            int jumpIndex = model.presentSelectDogz - 2 > 0 ? model.presentSelectDogz - 2 : 0;
            m_Controller.JumpIndex(jumpIndex);
        }
System/Dogz/DogzModel.cs
@@ -695,13 +695,26 @@
        {
            var configs = Config.Instance.GetAllValues<DogzConfig>();
            presentSelectDogz = configs[0].ID;
            foreach (var key in m_DogzEquipLimit.Keys)
            if(dogzFuncRedpoint.state == RedPointState.Simple)
            {
                Redpoint redpoint = GetSingleDogzRedpointById(key);
                if (redpoint.state == RedPointState.Simple)
                foreach (var key in m_DogzEquipLimit.Keys)
                {
                    presentSelectDogz = key;
                    break;
                    Redpoint redpoint = GetSingleDogzRedpointById(key);
                    if (redpoint.state == RedPointState.Simple)
                    {
                        presentSelectDogz = key;
                        break;
                    }
                }
            }
            else
            {
                foreach(var key in dogzAssistStateDict.Keys)
                {
                    if(TryGetAssistDogzState(key))
                    {
                        presentSelectDogz = presentSelectDogz > key ? presentSelectDogz : key;
                    }
                }
            }
        }
@@ -776,18 +789,18 @@
                value.state = RedPointState.None;
            }
            bool isMaxAssistNum = GetAssistDogzCount() >= DogzAssistDefaultCnt ? true : false;
            int minAlreadyAssistId = 0;
            foreach (var dogzId in m_DogzEquipLimit.Keys)
            {
                if (TryGetAssistDogzState(dogzId)
                    && ((minAlreadyAssistId > dogzId && minAlreadyAssistId != 0) || minAlreadyAssistId == 0))
                {
                    minAlreadyAssistId = dogzId;
                }
            }
            if (!isMaxAssistNum)
            {
                int minAlreadyAssistId = 0;
                foreach (var dogzId in m_DogzEquipLimit.Keys)
                {
                    if (TryGetAssistDogzState(dogzId)
                        && ((minAlreadyAssistId < dogzId && minAlreadyAssistId != 0) || minAlreadyAssistId == 0))
                    {
                        minAlreadyAssistId = dogzId;
                    }
                }
                int maxDogzId = 0;
                foreach(var dogzId in m_DogzEquipLimit.Keys)
                {
@@ -815,7 +828,8 @@
                {
                    var equips = GetDogzEquips(dogzId);
                    int equipNum = equips == null ? 0 : equips.Count;
                    if(!TryGetAssistDogzState(dogzId) && equipNum == 5)
                    if(!TryGetAssistDogzState(dogzId) && equipNum == 5
                         && ((minAlreadyAssistId != 0 && dogzId > minAlreadyAssistId) || minAlreadyAssistId == 0))
                    {
                        Redpoint assistRedpoint = GetDogzAssistRedpointById(dogzId);
                        if (assistRedpoint.state == RedPointState.None)
@@ -903,7 +917,7 @@
                foreach (var dogzId in m_DogzEquipLimit.Keys)
                {
                    if(TryGetAssistDogzState(dogzId)
                        && ((minAlreadyAssistId < dogzId && minAlreadyAssistId != 0) || minAlreadyAssistId == 0))
                        && ((minAlreadyAssistId > dogzId && minAlreadyAssistId != 0) || minAlreadyAssistId == 0))
                    {
                        minAlreadyAssistId = dogzId;
                    }
System/Dungeon/DungeonAncientKingWin.cs
New file
@@ -0,0 +1,93 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Thursday, September 27, 2018
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI {
    public class DungeonAncientKingWin : Window
    {
        [SerializeField] Text m_AncientKingName;
        [SerializeField] Text m_AncientKingPoint;
        [SerializeField] ItemCell[] m_Items;
        [SerializeField] Button m_Close;
        DungeonModel m_Model;
        DungeonModel model
        {
            get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<DungeonModel>()); }
        }
        #region Built-in
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        {
            m_Close.onClick.AddListener(CloseClick);
        }
        protected override void OnPreOpen()
        {
            model.updateMissionEvent -= UpdateTargets;
            UpdateTargets();
            DisplayAward();
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
            model.updateMissionEvent -= UpdateTargets;
        }
        protected override void OnAfterClose()
        {
        }
        #endregion
        private void UpdateTargets()
        {
            var _help = model.mission;
            m_AncientKingName.text = _help.topName;
            m_AncientKingPoint.text = UIHelper.ReplaceLargeNum(_help.topScore);
        }
        private void DisplayAward()
        {
            var awards = GeneralConfig.Instance.ancientKingAwards;
            for (int i = 0; i < m_Items.Length; i++)
            {
                m_Items[i].cellBtn.RemoveAllListeners();
                if (i < awards.Count)
                {
                    var award = awards[i];
                    m_Items[i].gameObject.SetActive(true);
                    ItemCellModel itemCellModel = new ItemCellModel(award.id, true, (ulong)award.count, award.bind ? 1 : 0);
                    m_Items[i].Init(itemCellModel);
                    m_Items[i].cellBtn.AddListener(() =>
                    {
                        ItemAttrData itemAttrData = new ItemAttrData(award.id, true, (ulong)award.count, -1, award.bind ? 1 : 0);
                        ModelCenter.Instance.GetModel<ItemTipsModel>().SetItemTipsModel(itemAttrData);
                    });
                }
                else
                {
                    m_Items[i].gameObject.SetActive(false);
                }
            }
        }
    }
}
System/Dungeon/DungeonAncientKingWin.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 174d70b8ee292354fb10efc54511ffb9
timeCreated: 1538034810
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/Dungeon/DungeonAncientTargetWin.cs
@@ -1,55 +1,55 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI
{
    public class DungeonAncientTargetWin : Window
    {
        [SerializeField] List<Text> m_DungeonTargets;
        [SerializeField] DungeonTargetBehaviour m_DungeonTargetBehaviour;
        DungeonModel m_Model;
        DungeonModel model
        {
            get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<DungeonModel>()); }
        }
        protected override void AddListeners()
        {
        }
        protected override void BindController()
        {
        }
        protected override void OnAfterClose()
        {
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
            model.updateMissionEvent -= UpdateTargets;
        }
        protected override void OnPreOpen()
        {
            model.updateMissionEvent += UpdateTargets;
            m_DungeonTargetBehaviour.Init(31160);
            UpdateTargets();
        }
        private void UpdateTargets()
        {
            var _help = model.mission;
            m_DungeonTargets[0].text = _help.topName;
            m_DungeonTargets[1].text = UIHelper.ReplaceLargeNum(_help.topScore);
        }
    }
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI
{
    public class DungeonAncientTargetWin : Window
    {
        //[SerializeField] List<Text> m_DungeonTargets;
        [SerializeField] DungeonTargetBehaviour m_DungeonTargetBehaviour;
        DungeonModel m_Model;
        DungeonModel model
        {
            get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<DungeonModel>()); }
        }
        protected override void AddListeners()
        {
        }
        protected override void BindController()
        {
        }
        protected override void OnAfterClose()
        {
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
            //model.updateMissionEvent -= UpdateTargets;
        }
        protected override void OnPreOpen()
        {
            //model.updateMissionEvent += UpdateTargets;
            m_DungeonTargetBehaviour.Init(31160);
            //UpdateTargets();
        }
        private void UpdateTargets()
        {
            //var _help = model.mission;
            //m_DungeonTargets[0].text = _help.topName;
            //m_DungeonTargets[1].text = UIHelper.ReplaceLargeNum(_help.topScore);
        }
    }
}
System/Dungeon/DungeonFightWin.cs
@@ -27,6 +27,7 @@
        [SerializeField] RectTransform m_ContainerResPoint;
        [SerializeField] RectTransform m_ContainerAncient;
        [SerializeField] Button m_AncientBtn;
        [SerializeField] Button m_AncientKing;
        [SerializeField] DungeonItemCollect m_ItemCollect;
        [SerializeField] DungeonGuardSkyBehaviour m_GuardSky;
        [SerializeField] DungeonBossBriefInfoContainer m_BossInfosContainer;
@@ -55,6 +56,7 @@
        {
            m_ExitDungeon.AddListener(ExitDungeon);
            m_AncientBtn.onClick.AddListener(OnAncientBtn);
            m_AncientKing.onClick.AddListener(AncientKing);
        }
        protected override void OnPreOpen()
@@ -320,6 +322,18 @@
            }
        }
        private void AncientKing()
        {
            if (WindowCenter.Instance.IsOpen<DungeonAncientKingWin>())
            {
                WindowCenter.Instance.CloseImmediately<DungeonAncientKingWin>();
            }
            else
            {
                WindowCenter.Instance.Open<DungeonAncientKingWin>();
            }
        }
        private void UpdateDungeonExitTime()
        {
            if (existSurplusTime > 0f)
System/GeneralConfig/GeneralConfig.cs
@@ -5,6 +5,7 @@
using System;
using System.Text.RegularExpressions;
using System.Linq;
using Snxxz.UI;
public class GeneralConfig : Singleton<GeneralConfig>
{
@@ -140,6 +141,8 @@
    public string teamWorldCall;
    public int teamWorldCallInviteCount;
    public List<Item> ancientKingAwards = new List<Item>();
    public void Init()
    {
@@ -492,6 +495,21 @@
            teamWorldCall = GetInputString("TeamWorldCall");
            teamWorldCallInviteCount = GetInt("TeamWorldCall", 2);
            var ancientKingAwradConfig = Config.Instance.Get<FuncConfigConfig>("ElderBattlefieldTopAward");
            if (ancientKingAwradConfig != null)
            {
                var itemArray = LitJson.JsonMapper.ToObject<int[][]>(ancientKingAwradConfig.Numerical1);
                for (int k = 0; k < itemArray.Length; k++)
                {
                    ancientKingAwards.Add(new Item()
                    {
                        id = itemArray[k][0],
                        count = itemArray[k][1],
                        bind = itemArray[k][2] == 1,
                    });
                }
            }
        }
        catch (Exception ex)
        {
System/Role/RoleModel.cs
@@ -30,7 +30,31 @@
        public override void UnInit()
        {
        }
        #region 协议
        public void ServerRenameResult(HA921_tagUpdatePlayerNameResult renameResult)
        {
            switch ((RoleRenameResult)renameResult.Result)
            {
                case RoleRenameResult.MoneyErr:
                    SysNotifyMgr.Instance.ShowTip("GoldErr");
                    break;
                case RoleRenameResult.NameRuleErr:
                    MessageWin.Inst.ShowFixedTip(Language.Get("L1007"));
                    break;
                case RoleRenameResult.NameLengErr:
                    break;
                case RoleRenameResult.NameRepeatErr:
                    SysNotifyMgr.Instance.ShowTip("RepeatName");
                    break;
                case RoleRenameResult.RenameFailErr:
                    break;
                case RoleRenameResult.RenameSuccess:
                    SysNotifyMgr.Instance.ShowTip("RepeatName");
                    break;
            }
        }
        #endregion
    }
}
System/Role/RoleRenameWin.cs
New file
@@ -0,0 +1,140 @@
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
using TableConfig;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI
{
    public class RoleRenameWin : Window
    {
        [SerializeField] InputField renameInput;
        [SerializeField] Button sureBtn;
        [SerializeField] Button closeBtn;
        [SerializeField] ItemCell itemCell;
        PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
        ItemTipsModel tipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        {
            sureBtn.AddListener(ClickRenameBtn);
            closeBtn.AddListener(CloseClick);
        }
        protected override void OnPreOpen()
        {
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
        }
        protected override void OnAfterClose()
        {
        }
        private void OnDisplay()
        {
            ItemConfig itemConfig = Config.Instance.Get<ItemConfig>(953);
            if (itemConfig == null) return;
            ItemCellModel cellModel = new ItemCellModel(953,false,(ulong)GetRenameToolNum());
            itemCell.Init(cellModel);
            itemCell.cellBtn.RemoveAllListeners();
            itemCell.cellBtn.AddListener(()=>
            {
                ItemAttrData attrData = new ItemAttrData(953);
                tipsModel.SetItemTipsModel(attrData);
            });
        }
        private int GetRenameToolNum()
        {
            return playerPack.GetItemCountByID(PackType.rptItem,953);
        }
        private int GetRenameToolIndex()
        {
            SinglePackModel singlePack = playerPack.GetSinglePackModel(PackType.rptItem);
            if (singlePack == null) return -1;
            List<int> indexlist = singlePack.ItemIndexlist(953,1);
            if(indexlist.Count > 0)
            {
                return indexlist[0];
            }
            return -1;
        }
        private void ClickRenameBtn()
        {
            if (renameInput.text.Equals(string.Empty))
            {
                MessageWin.Inst.ShowFixedTip(Language.Get("CreateRole_NameNull"));
                return;
            }
            if(GetRenameToolNum() < 1)
            {
                MessageWin.Inst.ShowFixedTip("角色改名卡不足");
                return;
            }
            if (Encoding.UTF8.GetBytes(renameInput.text).Length < 6)
            {
                MessageWin.Inst.ShowFixedTip(Language.Get("CreateRole_NameShort"));
                return;
            }
            if (!CheckNameLengthLimit(renameInput.text))
            {
                MessageWin.Inst.ShowFixedTip(Language.Get("CreateRole_NameLimit"));
                return;
            }
            if (DirtyWordConfig.IsDirtWord(renameInput.text) || UIHelper.HasSpecialCharac(renameInput.text)
                || DirtyNameConfig.IsDirtName(renameInput.text))
            {
                MessageWin.Inst.ShowFixedTip(Language.Get("L1007"));
                return;
            }
              LanguageVerify.Instance.VerifyPlayerName(renameInput.text, 0,
               UIHelper.ServerStringTrim(PlayerDatas.Instance.baseData.PlayerName),PlayerDatas.Instance.baseData.LV,
                PlayerDatas.Instance.baseData.VIPLv, (bool ok, string name) =>
               {
                  if(ok)
                  {
                       CA122_tagUpdatePlayerName renamePlayerName = new CA122_tagUpdatePlayerName();
                       renamePlayerName.NewNameLen = (byte)name.Length;
                       renamePlayerName.NewName = name;
                       renamePlayerName.ItemIndex = (byte)GetRenameToolIndex();
                       renamePlayerName.ServerID = (uint)ServerListCenter.Instance.currentServer.region_flag;
                       GameNetSystem.Instance.SendInfo(renamePlayerName);
                  }
               });
        }
        private bool CheckNameLengthLimit(string _value)
        {
            var _chs = Regex.Replace(_value, "[^\u4e00-\u9fa5]", string.Empty);
            if (_chs.Length > GeneralConfig.Instance.playerNameLength / 3)
            {
                return false;
            }
            if (_value.Length > 6)
            {
                return false;
            }
            return true;
        }
    }
}
System/Role/RoleRenameWin.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 267817e3e5c4b0e44b2b6c98eca954bc
timeCreated: 1538028978
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/Skill/QuickSetting.cs
@@ -15,6 +15,7 @@
        quickSettingDic.Add(QuickSettingType.FairyLeagueGuide, new QuickSettingRange(QuickSettingType.FairyLeagueGuide, 1));
        quickSettingDic.Add(QuickSettingType.AutoUseXp, new QuickSettingRange(QuickSettingType.AutoUseXp, 1));
        quickSettingDic.Add(QuickSettingType.SpAnim, new QuickSettingRange(QuickSettingType.SpAnim, 10));
        quickSettingDic.Add(QuickSettingType.TreasureHighestAnim, new QuickSettingRange(QuickSettingType.TreasureHighestAnim, 10));
        setting = new string(UCharacter, 100);
        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += BeforePlayerDataInitializeEvent;
    }
@@ -109,6 +110,7 @@
        FairyLeagueGuide,
        AutoUseXp,
        SpAnim,
        TreasureHighestAnim
    }
    public struct QuickSettingRange
    {
System/Treasure/TreasureComponent.cs
@@ -45,6 +45,7 @@
        SFXController lockEffect;
        SFXController challengeSfx;
        SFXController specialSfx;
        SFXController highestSfx;
        public Treasure3DConfig paramConfig { get; set; }
@@ -74,6 +75,7 @@
                RequestBottom();
                RequestBackLight();
                RequestRedpoint();
                RequestHighestEffect();
                UpdateTreasureState();
                UpdateParam();
                RedpointCenter.Instance.redpointValueChangeEvent -= RedpointValueChangeEvent;
@@ -89,6 +91,7 @@
                RecycleCollectingSfx();
                RecycleRedpoint();
                RecycleCondition();
                RecycleHighestEffect();
                RedpointCenter.Instance.redpointValueChangeEvent -= RedpointValueChangeEvent;
            }
            interactProcessor.SetActive(_active);
@@ -339,6 +342,11 @@
                CloserState();
            }
            UpdateParam();
        }
        public void UpdateTreasureStage()
        {
            RequestHighestEffect();
        }
        private void RequestBackLight()
@@ -704,6 +712,35 @@
            }
        }
        public void RequestHighestEffect()
        {
            RecycleHighestEffect();
            Treasure _treasure;
            if (category == TreasureCategory.Human &&
                model.TryGetTreasure(treasureId, out _treasure) && _treasure.IsHighestStage
                && !model.GetTreasureFinishAnim(treasureId))
            {
                highestSfx = SFXPlayUtility.Instance.Play(5198, root);
                if (highestSfx != null)
                {
                    highestSfx.duration = 0;
                    LayerUtility.SetLayer(highestSfx.gameObject, LayerUtility.UILayer, true);
                    highestSfx.transform.localPosition = Vector3.zero;
                    highestSfx.transform.LookAt(UI3DTreasureSelectStage.Instance.center);
                }
            }
        }
        public void RecycleHighestEffect()
        {
            if (highestSfx != null)
            {
                highestSfx.gameObject.SetActive(false);
                SFXPlayUtility.Instance.Release(highestSfx);
                highestSfx = null;
            }
        }
        public void CloserState()
        {
            RecycleBottom();
@@ -713,6 +750,7 @@
            RecycleLockEffect();
            RecycleRedpoint();
            RecycleCondition();
            RecycleHighestEffect();
            RequestSpecialEffect();
            Treasure _treasure;
@@ -741,6 +779,7 @@
            RequestBottom();
            RequestName();
            RequestRedpoint();
            RequestHighestEffect();
            UpdateTreasureState();
            RecycleSpecialEffect();
            UpdateParam();
@@ -793,6 +832,31 @@
            UI3DTreasureSelectStage.Instance.CompleteUnlock();
            model.treasureGotoId = 0;
        }
        public void PlayHighestShow()
        {
            RecycleHighestEffect();
            var _effect = SFXPlayUtility.Instance.Play(5197, root);
            if (_effect != null)
            {
                LayerUtility.SetLayer(_effect.gameObject, LayerUtility.UILayer, true);
                _effect.transform.LookAt(UI3DTreasureSelectStage.Instance.center);
                _effect.transform.localPosition = Vector3.zero;
                _effect.duration = 3.0f;
            }
            SnxxzGame.Instance.StartCoroutine(Co_HighestShow());
        }
        IEnumerator Co_HighestShow()
        {
            yield return WaitingForSecondConst.GetWaitForSeconds(2.2f);
            model.SetTreasureFinishAnim(treasureId, false);
            if (display)
            {
                UpdateTreasureStage();
            }
            UI3DTreasureSelectStage.Instance.ReCheckTreasureHighest();
        }
    }
}
System/Treasure/TreasureModel.cs
@@ -378,6 +378,38 @@
            QuickSetting.Instance.SendPackage();
        }
        public bool GetTreasureFinishAnim(int _treasureId)
        {
            if (_treasureId == 101)
            {
                return false;
            }
            var list = GetTreasureCategory(TreasureCategory.Human);
            var index = list.IndexOf(_treasureId);
            if (index == -1)
            {
                return false;
            }
            uint value = 0;
            uint.TryParse(QuickSetting.Instance.GetQuickSetting(QuickSetting.QuickSettingType.TreasureHighestAnim, 0), out value);
            return MathUtility.GetBitValue(value, (ushort)index);
        }
        public void SetTreasureFinishAnim(int _treasureId, bool anim = true)
        {
            var list = GetTreasureCategory(TreasureCategory.Human);
            var index = list.IndexOf(_treasureId);
            if (index == -1)
            {
                return;
            }
            uint value = 0;
            uint.TryParse(QuickSetting.Instance.GetQuickSetting(QuickSetting.QuickSettingType.TreasureHighestAnim, 0), out value);
            int bitValue = MathUtility.SetBitValue((int)value, (ushort)index, anim);
            QuickSetting.Instance.SetQuickSetting(QuickSetting.QuickSettingType.TreasureHighestAnim, bitValue);
            QuickSetting.Instance.SendPackage();
        }
        public bool TryGetUnlockShowTreasure(out int _id)
        {
            _id = 0;
@@ -1152,6 +1184,10 @@
                        _up = true;
                    }
                    treasure.UpdateTreasureLevelExp(package.InfoList[i].LV, (int)package.InfoList[i].Exp, package.InfoList[i].State == 1);
                    if (serverInited && treasure.IsHighestStage)
                    {
                        SetTreasureFinishAnim(treasure.id);
                    }
                    if (treasureLevelProgressUpdateEvent != null)
                    {
                        treasureLevelProgressUpdateEvent(treasure.id);
System/Treasure/TreasureSelectWin.cs
@@ -43,7 +43,8 @@
            m_HumanBtn.onClick.AddListener(() =>
            {
                if (UI3DTreasureSelectStage.Instance.currentCategory == TreasureCategory.Human
                || UI3DTreasureSelectStage.Instance.UnlockShowing || UI3DTreasureSelectStage.Instance.IsCloser)
                || UI3DTreasureSelectStage.Instance.UnlockShowing || UI3DTreasureSelectStage.Instance.IsCloser
                || UI3DTreasureSelectStage.Instance.treasureFinishShowing)
                {
                    return;
                }
@@ -53,7 +54,8 @@
            m_DemonBtn.onClick.AddListener(() =>
            {
                if (UI3DTreasureSelectStage.Instance.currentCategory == TreasureCategory.Demon
                || UI3DTreasureSelectStage.Instance.UnlockShowing || UI3DTreasureSelectStage.Instance.IsCloser)
                || UI3DTreasureSelectStage.Instance.UnlockShowing || UI3DTreasureSelectStage.Instance.IsCloser
                || UI3DTreasureSelectStage.Instance.treasureFinishShowing)
                {
                    return;
                }
@@ -63,7 +65,8 @@
            m_FairyBtn.onClick.AddListener(() =>
            {
                if (UI3DTreasureSelectStage.Instance.currentCategory == TreasureCategory.Fairy
                || UI3DTreasureSelectStage.Instance.UnlockShowing || UI3DTreasureSelectStage.Instance.IsCloser)
                || UI3DTreasureSelectStage.Instance.UnlockShowing || UI3DTreasureSelectStage.Instance.IsCloser
                || UI3DTreasureSelectStage.Instance.treasureFinishShowing)
                {
                    return;
                }
@@ -71,7 +74,7 @@
            });
            m_BackBtn.onClick.AddListener(() =>
            {
                if (UI3DTreasureSelectStage.Instance.UnlockShowing)
                if (UI3DTreasureSelectStage.Instance.UnlockShowing || UI3DTreasureSelectStage.Instance.treasureFinishShowing)
                {
                    return;
                }
@@ -83,6 +86,7 @@
        protected override void OnPreOpen()
        {
            UI3DTreasureSelectStage.Instance.UnlockShowing = false;
            UI3DTreasureSelectStage.Instance.treasureFinishShowing = false;
            if (!UI3DTreasureSelectStage.Instance.IsOpen)
            {
                UI3DTreasureSelectStage.Instance.Open(false, model.currentCategory);
@@ -90,6 +94,8 @@
            UI3DTreasureSelectStage.Instance.OnCameraStartEvent += OnCameraStartEvent;
            UI3DTreasureSelectStage.Instance.OnCameraBackComplete += OnCameraBackComplete;
            UI3DTreasureSelectStage.Instance.OnUnlockComplete += OnUnlockComplete;
            UI3DTreasureSelectStage.Instance.OnHighestComplete += OnHighestComplete;
            UI3DTreasureSelectStage.Instance.startAnimation += StartAnimation;
            m_TreasureDrag.OnValueChange += OnValueChange;
            m_TreasureDrag.OnDragComplete += OnDragComplete;
            m_TreasureDrag.OnDragBegine += OnDragBegine;
@@ -116,6 +122,8 @@
            UI3DTreasureSelectStage.Instance.OnCameraStartEvent -= OnCameraStartEvent;
            UI3DTreasureSelectStage.Instance.OnCameraBackComplete -= OnCameraBackComplete;
            UI3DTreasureSelectStage.Instance.OnUnlockComplete -= OnUnlockComplete;
            UI3DTreasureSelectStage.Instance.OnHighestComplete -= OnHighestComplete;
            UI3DTreasureSelectStage.Instance.startAnimation -= StartAnimation;
            m_TreasureDrag.OnValueChange -= OnValueChange;
            m_TreasureDrag.OnDragComplete -= OnDragComplete;
            m_TreasureDrag.OnDragBegine -= OnDragBegine;
@@ -184,8 +192,9 @@
        private void UpdateButtonState()
        {
            var _closer = UI3DTreasureSelectStage.Instance.IsCloser 
                || UI3DTreasureSelectStage.Instance.UnlockShowing;
            if (UI3DTreasureSelectStage.Instance.UnlockShowing)
                || UI3DTreasureSelectStage.Instance.UnlockShowing|| UI3DTreasureSelectStage.Instance.treasureFinishShowing;
            if (UI3DTreasureSelectStage.Instance.UnlockShowing
                || UI3DTreasureSelectStage.Instance.treasureFinishShowing)
            {
                m_BackBtn.gameObject.SetActive(false);
            }
@@ -199,6 +208,16 @@
            m_FairyBtn.gameObject.SetActive(!_closer);
        }
        private void StartAnimation()
        {
            UpdateButtonState();
        }
        private void OnHighestComplete()
        {
            UpdateButtonState();
        }
        private void OnUnlockComplete()
        {
            UpdateButtonState();
System/Treasure/UI3DTreasureSelectStage.cs
@@ -156,6 +156,7 @@
        public bool CloserComplete { get; private set; }
        public int jumpTreasure { get; private set; }
        public bool UnlockShowing { get; set; }
        public bool treasureFinishShowing { get; set; }
        public bool Preloading { get; private set; }
        public GameObject currentTreasureTitle
@@ -212,6 +213,8 @@
        public event Action OnCameraCloserComplete;
        public event Action OnCameraBackEvent;
        public event Action OnUnlockComplete;
        public event Action OnHighestComplete;
        public event Action startAnimation;
        private Dictionary<TreasureCategory, List<TreasureComponent>> m_Treasures = new Dictionary<TreasureCategory, List<TreasureComponent>>();
        private Dictionary<TreasureCategory, bool> m_PreloadDict = new Dictionary<TreasureCategory, bool>();
@@ -298,6 +301,7 @@
            }
            model.treasureStateChangeEvent += TreasureStateChangeEvent;
            model.treasureStageUpEvent += TreasureStageUpEvent;
        }
        IEnumerator Co_PreLoad(TreasureCategory _category, Action callback)
@@ -320,6 +324,16 @@
        {
            HideAllTreasure();
            CloseRenderCamera();
            IsCloser = false;
            CloserComplete = false;
            UnlockShowing = false;
            treasureFinishShowing = false;
            IsOpen = false;
            jumping = false;
            Preloading = false;
            jumpTreasure = 0;
            var movecomponent = m_CameraControl.GetComponent<SmoothMove>();
            if (movecomponent != null)
            {
@@ -327,19 +341,12 @@
            }
            m_CameraControl.localPosition = m_StartPosition;
            IsCloser = false;
            CloserComplete = false;
            UnlockShowing = false;
            IsOpen = false;
            jumping = false;
            Preloading = false;
            jumpTreasure = 0;
            CameraController.Instance.CameraObject.gameObject.SetActive(true);
            m_Camera.enabled = false;
            WindowCenter.Instance.uiRoot.baseCanvas.gameObject.SetActive(true);
            model.treasureStateChangeEvent -= TreasureStateChangeEvent;
            model.treasureStageUpEvent -= TreasureStageUpEvent;
            model.SetTreasureUnlockShow(currentCategory, 0);
            if (currentTreasureTitle != null)
@@ -370,10 +377,25 @@
            }
        }
        private void TreasureStageUpEvent(int _id)
        {
            var _list = m_Treasures[currentCategory];
            var _component = _list.Find((x) =>
            {
                return x.treasureId == _id;
            });
            if (_component != null && _component.display)
            {
                _component.UpdateTreasureStage();
                _component.SetLayer(CloserComplete ? LayerUtility.DefaultLayer : LayerUtility.UILayer);
            }
        }
        public void SelectTreasureCategory(TreasureCategory _type, bool _closer = false)
        {
            presentSelectIndex = 0;
            UnlockShowing = false;
            treasureFinishShowing = false;
            currentCategory = _type;
            model.currentCategory = currentCategory;
@@ -442,7 +464,11 @@
        {
            var _treasure = 0;
            int _index = -1;
            if (model.GetTreasureUnlockShow(currentCategory) != 0)
            if (CheckTreasureFinish(out _treasure))
            {
                treasureFinishShowing = true;
            }
            else if (model.GetTreasureUnlockShow(currentCategory) != 0)
            {
                _treasure = model.GetTreasureUnlockShow(currentCategory);
                model.treasureGotoId = _treasure;
@@ -469,6 +495,31 @@
                });
            }
            return _index;
        }
        private bool CheckTreasureFinish(out int treasureId)
        {
            treasureId = 0;
            if (currentCategory != TreasureCategory.Human)
            {
                return false;
            }
            var list = model.GetTreasureCategory(TreasureCategory.Human);
            for (int i = 0; i < list.Count; i++)
            {
                if (list[i] == 101)
                {
                    continue;
                }
                Treasure treasure;
                if (model.TryGetTreasure(list[i], out treasure)
                    && treasure.IsHighestStage && model.GetTreasureFinishAnim(list[i]))
                {
                    treasureId = list[i];
                    return true;
                }
            }
            return false;
        }
        int Compare(int x, int y)
@@ -591,9 +642,20 @@
            }
        }
        public bool AllowPointClick()
        {
            if (IsCloser || UnlockShowing || jumping
                || draging || BossShowModel.Instance.BossShowing
                || treasureFinishShowing)
            {
                return false;
            }
            return true;
        }
        public void OnPointDownTreasure(int _treasureId)
        {
            if (IsCloser || UnlockShowing || jumping || draging || BossShowModel.Instance.BossShowing)
            if (!AllowPointClick())
            {
                return;
            }
@@ -622,6 +684,11 @@
                var _component = m_Treasures[currentCategory][presentSelectIndex];
                _component.PlayUnlockShow();
            }
            else if (treasureFinishShowing)
            {
                var _component = m_Treasures[currentCategory][presentSelectIndex];
                _component.PlayHighestShow();
            }
            jumpTreasure = 0;
        }
        #endregion
@@ -641,7 +708,7 @@
        public void BegineDrag()
        {
            if (IsCloser || UnlockShowing)
            if (IsCloser || UnlockShowing || treasureFinishShowing)
            {
                return;
            }
@@ -906,20 +973,22 @@
        private void CameraBackComplete()
        {
            if (!IsOpen)
            {
                return;
            }
            IsCloser = false;
            if (OnCameraBackComplete != null)
            {
                OnCameraBackComplete();
            }
            IsCloser = false;
            if (!IsOpen)
            {
                return;
            }
            var _list = m_Treasures[currentCategory];
            for (int i = 0; i < _list.Count; i++)
            {
                _list[i].SetLayer(LayerUtility.UILayer);
            }
            ReCheckTreasureHighest();
        }
        #endregion
@@ -984,5 +1053,59 @@
            }
        }
        #endregion
        public void ReCheckTreasureHighest()
        {
            treasureFinishShowing = false;
            if (!IsOpen)
            {
                return;
            }
            var treasureId = 0;
            if (CheckTreasureFinish(out treasureId))
            {
                treasureFinishShowing = true;
            }
            else if (model.GetTreasureUnlockShow(currentCategory) != 0)
            {
                UnlockShowing = true;
                treasureId = model.GetTreasureUnlockShow(currentCategory);
                model.treasureGotoId = treasureId;
            }
            if (treasureId != 0)
            {
                var _index = m_Treasures[currentCategory].FindIndex((x) =>
                 {
                     return x.treasureId == treasureId;
                 });
                if (_index == presentSelectIndex)
                {
                    var _component = m_Treasures[currentCategory][presentSelectIndex];
                    if (UnlockShowing)
                    {
                        _component.PlayUnlockShow();
                    }
                    else if (treasureFinishShowing)
                    {
                        _component.PlayHighestShow();
                    }
                }
                else
                {
                    Goto(_index);
                }
                if (startAnimation != null)
                {
                    startAnimation();
                }
            }
            else
            {
                if (OnHighestComplete != null)
                {
                    OnHighestComplete();
                }
            }
        }
    }
}
Utility/EnumHelper.cs
@@ -189,6 +189,16 @@
    Hostile,
}
public enum RoleRenameResult
{
    MoneyErr = 0, //金钱不足
    NameRuleErr = 1, //名字不合法
    NameLengErr = 2, //名字长度错误
    NameRepeatErr = 3, //重名
    RenameFailErr = 4, //改名失败
    RenameSuccess = 5, //成功
}
/// <summary>
/// <para>无意义 0</para>
/// <para>自己 1</para>