少年修仙传客户端代码仓库
client_Hale
2019-07-16 097bce33c5a0d72800e7f9e23dcddb9b6e8baee7
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
5个文件已修改
4个文件已添加
195 ■■■■■ 已修改文件
Core/GameEngine/DataToCtl/PackageRegedit.cs 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HB2_ActionMap/DTCB206_tagMCHelpBattleCallResult.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HB3_PlayerSocial/DTCB311_tagGCTalkCache.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HB3_PlayerSocial/DTCB311_tagGCTalkCache.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/PlayerSocial/HB311_tagGCTalkCache.cs 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/PlayerSocial/HB311_tagGCTalkCache.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Chat/ChatCtrl.cs 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Chat/LocalChatHistory.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI/Common/UI3DModelExhibition.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/DataToCtl/PackageRegedit.cs
@@ -25,6 +25,7 @@
    public static void Init()
    {
        // 登记相应的数据体及对应的数据转逻辑类
        Register(typeof(HB311_tagGCTalkCache), typeof(DTCB311_tagGCTalkCache));
        Register(typeof(HAC01_tagGCFamilyWarInfo), typeof(DTCAC01_tagGCFamilyWarInfo));
        Register(typeof(HA40D_tagGCServerCreatFamilyTimes), typeof(DTCA40D_tagGCServerCreatFamilyTimes));
        Register(typeof(HAC07_tagGCHorsePetBossInfo), typeof(DTCAC07_tagGCHorsePetBossInfo));
Core/NetworkPackage/DTCFile/ServerPack/HB2_ActionMap/DTCB206_tagMCHelpBattleCallResult.cs
@@ -41,6 +41,11 @@
                _zzPlayer.SyncHelpBattle((int)vNetData.PlayerID);
            }
        }
        if (DTC0403_tagPlayerLoginLoadOK.finishedLogin && vNetData.PlayerID > 100)
        {
            ChatCtrl.Inst.SendThank2AssistPlayer((int)vNetData.PlayerID);
        }
    }
}
Core/NetworkPackage/DTCFile/ServerPack/HB3_PlayerSocial/DTCB311_tagGCTalkCache.cs
New file
@@ -0,0 +1,23 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Tuesday, July 16, 2019
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
public class DTCB311_tagGCTalkCache : DtcBasic {
    public override void Done(GameNetPackBasic vNetPack)
    {
        base.Done(vNetPack);
        var package = vNetPack as HB311_tagGCTalkCache;
        ChatCtrl.Inst.RevChatInfo(package);
    }
}
Core/NetworkPackage/DTCFile/ServerPack/HB3_PlayerSocial/DTCB311_tagGCTalkCache.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 9836b24a3ccd40e46b9ce6d1b2a221ec
timeCreated: 1563267425
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ServerPack/PlayerSocial/HB311_tagGCTalkCache.cs
New file
@@ -0,0 +1,41 @@
using UnityEngine;
using System.Collections;
// B3 11 聊天缓存通知 #tagGCTalkCache
public class HB311_tagGCTalkCache : GameNetPackBasic {
    public ushort Count;
    public  tagGCTalkCacheInfo[] InfoList;    //size = Count
    public HB311_tagGCTalkCache () {
        _cmd = (ushort)0xB311;
    }
    public override void ReadFromBytes (byte[] vBytes) {
        TransBytes (out Count, vBytes, NetDataType.WORD);
        InfoList = new tagGCTalkCacheInfo[Count];
        for (int i = 0; i < Count; i ++) {
            InfoList[i] = new tagGCTalkCacheInfo();
            TransBytes (out InfoList[i].ChannelType, vBytes, NetDataType.BYTE);
            TransBytes (out InfoList[i].NameLen, vBytes, NetDataType.BYTE);
            TransBytes (out InfoList[i].Name, vBytes, NetDataType.Chars, InfoList[i].NameLen);
            TransBytes (out InfoList[i].PlayerID, vBytes, NetDataType.DWORD);
            TransBytes (out InfoList[i].Time, vBytes, NetDataType.DWORD);
            TransBytes (out InfoList[i].Len, vBytes, NetDataType.WORD);
            TransBytes (out InfoList[i].Content, vBytes, NetDataType.Chars, InfoList[i].Len);
            TransBytes (out InfoList[i].Extras, vBytes, NetDataType.Chars, 256);
        }
    }
    public struct tagGCTalkCacheInfo {
        public byte ChannelType;        // 1 世界 2 仙盟
        public byte NameLen;
        public string Name;        //size = SrcNameLen
        public uint PlayerID;
        public uint Time;
        public ushort Len;
        public string Content;        //size = Len
        public string Extras;        //附加值列表
    }
}
Core/NetworkPackage/ServerPack/PlayerSocial/HB311_tagGCTalkCache.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 96f83e8de58e613499a6713611e5997d
timeCreated: 1563267391
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/Chat/ChatCtrl.cs
@@ -25,6 +25,7 @@
    }
    #endregion
    public int CHAT_INFO_CNT = 50;
    public const int CHAT_TIP_CNT = 4;
    public const int CHAT_CELL_CNT = 6;
    public const int CHAT_INFO_LIMIT = 50;
@@ -157,6 +158,7 @@
    PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
    public Dictionary<ChatInfoType, List<string>> achievementRandoms = new Dictionary<ChatInfoType, List<string>>();
    List<string> assistThankLanguages = new List<string>();
    private ChatCtrl()
    {
@@ -192,6 +194,7 @@
                var type = int.Parse(key);
                m_TaskRandomChats.Add(type, new List<string>(LitJson.JsonMapper.ToObject<string[]>(json[key].ToJson())));
            }
            assistThankLanguages.AddRange(ConfigParse.GetMultipleStr(_cfg.Numerical4));
        }
        catch (Exception e)
        {
@@ -436,7 +439,7 @@
    /// 世界频道
    /// </summary>
    /// <param name="vNetData"></param>
    public void RevChatInfo(H0201_tagTalkGong vNetData)
    public void RevChatInfo(H0201_tagTalkGong vNetData, uint time = 0)
    {
        if (friendModel.GetFirendInfo(vNetData.PlayerID, (byte)GroupType.Balcklist) != null)//黑名单拦截
        {
@@ -464,6 +467,10 @@
            content = StringUtility.Contact(content, Language.Get("InviteTeam", vNetData.PlayerID));
        }
        chatData = new ChatWorldData(content, (int)vNetData.PlayerID, vNetData.Name, vNetData.Extras);
        if (time != 0)
        {
            chatData.createTime = TimeUtility.GetTime(time);
        }
        LocalChatHistory.Save(chatData as ChatUeseData);
        KeepChatInfo(chatData);
    }
@@ -516,7 +523,7 @@
    /// 家族频道
    /// </summary>
    /// <param name="vNetData"></param>
    public void RevChatInfo(H0203_tagTalkBang vNetData)
    public void RevChatInfo(H0203_tagTalkBang vNetData, uint time = 0)
    {
        var content = vNetData.Content;
        if (IsAssitChat(content, true) == 1 && vNetData.PlayerID != PlayerDatas.Instance.baseData.PlayerID)
@@ -524,10 +531,55 @@
            content = StringUtility.Contact(content, Language.Get("InviteTeam", vNetData.PlayerID));
        }
        ChatData chatData = new ChatFamilyData(content, (int)vNetData.PlayerID, vNetData.Name, vNetData.Extras);
        if (time != 0)
        {
            chatData.createTime = TimeUtility.GetTime(time);
        }
        LocalChatHistory.Save(chatData as ChatUeseData);
        KeepChatInfo(chatData);
        ReceiveNewChat(ChatInfoType.Fairy);
    }
    /// <summary>
    /// 后端缓存
    /// </summary>
    /// <param name="vNetData"></param>
    public void RevChatInfo(HB311_tagGCTalkCache package)
    {
        for (int i = 0; i < package.Count; i++)
        {
            var data = package.InfoList[i];
            if (data.ChannelType == 1)
            {
                RevChatInfo(new H0201_tagTalkGong()
                {
                    socketType = package.socketType,
                    Content = data.Content,
                    Extras = data.Extras,
                    ExtraValue = 0,
                    Name = data.Name,
                    NameLen = data.NameLen,
                    Len = data.Len,
                    PlayerID = data.PlayerID,
                }, data.Time);
            }
            else if (data.ChannelType == 2)
            {
                RevChatInfo(new H0203_tagTalkBang()
                {
                    socketType = package.socketType,
                    Content = data.Content,
                    Extras = data.Extras,
                    ExtraValue = 0,
                    Len = data.Len,
                    Name = data.Name,
                    NameLen = data.NameLen,
                    PlayerID = data.PlayerID,
                });
            }
        }
    }
    /// <summary>
    /// 好友私聊
    /// </summary>
@@ -1300,6 +1352,17 @@
        return RedPointState.None;
    }
    #endregion
    #region 协助感谢
    public void SendThank2AssistPlayer(int playerId)
    {
        var languageKeyIndex = UnityEngine.Random.Range(0, assistThankLanguages.Count);
        if (assistThankLanguages.Count > 0)
        {
            SendFriendChat(Language.Get(assistThankLanguages[languageKeyIndex]), playerId);
        }
    }
    #endregion
}
public struct ChatExtraData
{
System/Chat/LocalChatHistory.cs
@@ -67,11 +67,11 @@
            }
            switch (chat.type)
            {
                case ChatInfoType.World:
                //case ChatInfoType.World:
                case ChatInfoType.CrossServer:
                case ChatInfoType.Area:
                case ChatInfoType.Trumpet:
                case ChatInfoType.Fairy:
                //case ChatInfoType.Fairy:
                case ChatInfoType.Friend:
                    if (chat.IsSound && string.IsNullOrEmpty(chat.content))
                    {
@@ -119,11 +119,11 @@
        {
            switch (chat.type)
            {
                case ChatInfoType.World:
                //case ChatInfoType.World:
                case ChatInfoType.Area:
                case ChatInfoType.CrossServer:
                case ChatInfoType.Team:
                case ChatInfoType.Fairy:
                //case ChatInfoType.Fairy:
                    {
                        LocalChat localChat = new LocalChat();
                        localChat.type = chat.type;
@@ -199,11 +199,11 @@
                            ChatData chat = null;
                            switch (type)
                            {
                                case ChatInfoType.World:
                                //case ChatInfoType.World:
                                case ChatInfoType.Area:
                                case ChatInfoType.CrossServer:
                                case ChatInfoType.Team:
                                case ChatInfoType.Fairy:
                                //case ChatInfoType.Fairy:
                                    {
                                        LocalChat localChat = LitJson.JsonMapper.ToObject<LocalChat>(line);
                                        var ts = DateTime.Now - localChat.time;
@@ -282,8 +282,8 @@
            if (chatHistory.ContainsKey(type))
            {
                chatHistory.Remove(type);
                Save();
            }
            Save();
        }
        public static void Clear()
UI/Common/UI3DModelExhibition.cs
@@ -545,7 +545,6 @@
                    if (horsePetEffect != null)
                    {
                        horsePetEffect.duration = 0f;
                        horsePetEffect.SetParticleEmissionRateOverTime(2f);
                    }
                }
            }
@@ -601,6 +600,18 @@
                        }
                    }
                }
            }
            if (horsePetEffect != null)
            {
                if (horseModel != null)
                {
                    horsePetEffect.SetParticleEmissionRateOverTime(0f);
                }
                SFXPlayUtility.Instance.Release(horsePetEffect);
                horsePetEffect = null;
            }
            if (npcModel != null)
@@ -663,13 +674,6 @@
            {
                SFXPlayUtility.Instance.Release(godWeaponEffect);
                godWeaponEffect = null;
            }
            if (horsePetEffect != null)
            {
                horsePetEffect.SetParticleEmissionRateOverTime(0f);
                SFXPlayUtility.Instance.Release(horsePetEffect);
                horsePetEffect = null;
            }
            UI3DModelShowSpecialNPC.Dispose();