From c5eec6f1ec285dfff3eca1e991fc9dffd177a94c Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期四, 27 九月 2018 16:25:39 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 Core/NetworkPackage/ClientPack/ClientToMapServer/CA1_Sys/CA122_tagUpdatePlayerName.cs.meta    |   12 ++
 System/Role/RoleRenameWin.cs.meta                                                             |   12 ++
 Core/NetworkPackage/ServerPack/HA9_Function/HA921_tagUpdatePlayerNameResult.cs                |   17 ++
 System/Dogz/DogzActiveWin.cs                                                                  |    2 
 System/Role/RoleRenameWin.cs                                                                  |  140 +++++++++++++++++++++++
 Core/NetworkPackage/ClientPack/ClientToMapServer/CA1_Sys/CA122_tagUpdatePlayerName.cs         |   24 ++++
 Utility/EnumHelper.cs                                                                         |   10 +
 Core/NetworkPackage/ClientPack/ClientToMapServer/CA1_Sys.meta                                 |    9 +
 System/Role/RoleModel.cs                                                                      |   26 ++++
 Core/NetworkPackage/DTCFile/ServerPack/HA9_Function/DTCA921_tagUpdatePlayerNameResult.cs      |   20 +++
 Core/NetworkPackage/DTCFile/ServerPack/HA9_Function/DTCA921_tagUpdatePlayerNameResult.cs.meta |   12 ++
 Core/GameEngine/DataToCtl/PackageRegedit.cs                                                   |    2 
 System/Dogz/DogzModel.cs                                                                      |   48 +++++--
 Core/NetworkPackage/ServerPack/HA9_Function/HA921_tagUpdatePlayerNameResult.cs.meta           |   12 ++
 14 files changed, 326 insertions(+), 20 deletions(-)

diff --git a/Core/GameEngine/DataToCtl/PackageRegedit.cs b/Core/GameEngine/DataToCtl/PackageRegedit.cs
index 01e7277..3584582 100644
--- a/Core/GameEngine/DataToCtl/PackageRegedit.cs
+++ b/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));
diff --git a/Core/NetworkPackage/ClientPack/ClientToMapServer/CA1_Sys.meta b/Core/NetworkPackage/ClientPack/ClientToMapServer/CA1_Sys.meta
new file mode 100644
index 0000000..99913d9
--- /dev/null
+++ b/Core/NetworkPackage/ClientPack/ClientToMapServer/CA1_Sys.meta
@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: 07973e7d7a8d7dc499729078a1b20c19
+folderAsset: yes
+timeCreated: 1538027291
+licenseType: Pro
+DefaultImporter:
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Core/NetworkPackage/ClientPack/ClientToMapServer/CA1_Sys/CA122_tagUpdatePlayerName.cs b/Core/NetworkPackage/ClientPack/ClientToMapServer/CA1_Sys/CA122_tagUpdatePlayerName.cs
new file mode 100644
index 0000000..499dbc3
--- /dev/null
+++ b/Core/NetworkPackage/ClientPack/ClientToMapServer/CA1_Sys/CA122_tagUpdatePlayerName.cs
@@ -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);

+    }

+

+}

diff --git a/Core/NetworkPackage/ClientPack/ClientToMapServer/CA1_Sys/CA122_tagUpdatePlayerName.cs.meta b/Core/NetworkPackage/ClientPack/ClientToMapServer/CA1_Sys/CA122_tagUpdatePlayerName.cs.meta
new file mode 100644
index 0000000..c8209e3
--- /dev/null
+++ b/Core/NetworkPackage/ClientPack/ClientToMapServer/CA1_Sys/CA122_tagUpdatePlayerName.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: f1760446cb920c8429e4e5a021a6452b
+timeCreated: 1538027291
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Core/NetworkPackage/DTCFile/ServerPack/HA9_Function/DTCA921_tagUpdatePlayerNameResult.cs b/Core/NetworkPackage/DTCFile/ServerPack/HA9_Function/DTCA921_tagUpdatePlayerNameResult.cs
new file mode 100644
index 0000000..4605115
--- /dev/null
+++ b/Core/NetworkPackage/DTCFile/ServerPack/HA9_Function/DTCA921_tagUpdatePlayerNameResult.cs
@@ -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);
+    }
+
+}
+
diff --git a/Core/NetworkPackage/DTCFile/ServerPack/HA9_Function/DTCA921_tagUpdatePlayerNameResult.cs.meta b/Core/NetworkPackage/DTCFile/ServerPack/HA9_Function/DTCA921_tagUpdatePlayerNameResult.cs.meta
new file mode 100644
index 0000000..e5e8261
--- /dev/null
+++ b/Core/NetworkPackage/DTCFile/ServerPack/HA9_Function/DTCA921_tagUpdatePlayerNameResult.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 104734d3ab0b9eb4282d52f46be5f76c
+timeCreated: 1538027291
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Core/NetworkPackage/ServerPack/HA9_Function/HA921_tagUpdatePlayerNameResult.cs b/Core/NetworkPackage/ServerPack/HA9_Function/HA921_tagUpdatePlayerNameResult.cs
new file mode 100644
index 0000000..8348587
--- /dev/null
+++ b/Core/NetworkPackage/ServerPack/HA9_Function/HA921_tagUpdatePlayerNameResult.cs
@@ -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);

+    }

+

+}

diff --git a/Core/NetworkPackage/ServerPack/HA9_Function/HA921_tagUpdatePlayerNameResult.cs.meta b/Core/NetworkPackage/ServerPack/HA9_Function/HA921_tagUpdatePlayerNameResult.cs.meta
new file mode 100644
index 0000000..0182a38
--- /dev/null
+++ b/Core/NetworkPackage/ServerPack/HA9_Function/HA921_tagUpdatePlayerNameResult.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 658f4d57fa7989c47ab85b6bdaf40211
+timeCreated: 1538027291
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/System/Dogz/DogzActiveWin.cs b/System/Dogz/DogzActiveWin.cs
index 12d824c..23f6159 100644
--- a/System/Dogz/DogzActiveWin.cs
+++ b/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);
         }
 
diff --git a/System/Dogz/DogzModel.cs b/System/Dogz/DogzModel.cs
index df9e3fe..c560c2e 100644
--- a/System/Dogz/DogzModel.cs
+++ b/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;
                     }
diff --git a/System/Role/RoleModel.cs b/System/Role/RoleModel.cs
index 0b49981..af69f4e 100644
--- a/System/Role/RoleModel.cs
+++ b/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
     }
 }
 
diff --git a/System/Role/RoleRenameWin.cs b/System/Role/RoleRenameWin.cs
new file mode 100644
index 0000000..b353083
--- /dev/null
+++ b/System/Role/RoleRenameWin.cs
@@ -0,0 +1,140 @@
+锘縰sing 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;
+        }
+
+
+    }
+}
diff --git a/System/Role/RoleRenameWin.cs.meta b/System/Role/RoleRenameWin.cs.meta
new file mode 100644
index 0000000..928c39a
--- /dev/null
+++ b/System/Role/RoleRenameWin.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 267817e3e5c4b0e44b2b6c98eca954bc
+timeCreated: 1538028978
+licenseType: Pro
+MonoImporter:
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Utility/EnumHelper.cs b/Utility/EnumHelper.cs
index a9107df..9b1004a 100644
--- a/Utility/EnumHelper.cs
+++ b/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>

--
Gitblit v1.8.0