少年修仙传客户端代码仓库
hch
2019-12-20 e34c9c9234d11340f81c6a174e59714d29b8cc79
8347 协助系统
22个文件已修改
50个文件已添加
1849 ■■■■ 已修改文件
Core/GameEngine/DataToCtl/PackageRegedit.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Player/Character/PlayerBaseData.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Player/PlayerDatas.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ClientPack/ClientToGameServer/CB0_Event.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ClientPack/ClientToGameServer/CB0_Event/CB012_tagCGStartAssistBoss.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ClientPack/ClientToGameServer/CB0_Event/CB012_tagCGStartAssistBoss.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ClientPack/ClientToGameServer/CB0_Event/CB013_tagCGCancelAssistBoss.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ClientPack/ClientToGameServer/CB0_Event/CB013_tagCGCancelAssistBoss.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ClientPack/ClientToGameServer/CB0_Event/CB014_tagCGUseAssistThanksGift.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ClientPack/ClientToGameServer/CB0_Event/CB014_tagCGUseAssistThanksGift.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ClientPack/ClientToGameServer/CB0_Event/CB015_tagCGGetAssistThanksGift.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ClientPack/ClientToGameServer/CB0_Event/CB015_tagCGGetAssistThanksGift.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ClientPack/ClientToMapServer/CB0_Event.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ClientPack/ClientToMapServer/CB0_Event/CB010_tagCMRequestAssistBoss.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ClientPack/ClientToMapServer/CB0_Event/CB010_tagCMRequestAssistBoss.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ClientPack/ClientToMapServer/CB0_Event/CB011_tagCMRequestAssistTeamFB.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ClientPack/ClientToMapServer/CB0_Event/CB011_tagCMRequestAssistTeamFB.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0418_tagObjInfoRefresh.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HA7_Arena/DTCA709_tagObjInfoListRefresh.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HB0_Event.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HB0_Event/DTCB001_tagGCAssistInfoList.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HB0_Event/DTCB001_tagGCAssistInfoList.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HB0_Event/DTCB002_tagGCClearAssist.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HB0_Event/DTCB002_tagGCClearAssist.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HB0_Event/DTCB003_tagGCAssistingInfo.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HB0_Event/DTCB003_tagGCAssistingInfo.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HB0_Event/DTCB004_tagGCUseAssistThanksGiftPreview.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HB0_Event/DTCB004_tagGCUseAssistThanksGiftPreview.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HB0_Event/DTCB005_tagGCGetAssistThanksGiftPreview.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HB0_Event/DTCB005_tagGCGetAssistThanksGiftPreview.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HB0_Event/DTCB006_tagGCCanGetAssistThanksGiftCount.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HB0_Event/DTCB006_tagGCCanGetAssistThanksGiftCount.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HB2_ActionMap/DTCB206_tagMCHelpBattleCallResult.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB415_tagMCBossHurtValueRankInfo.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB415_tagMCBossHurtValueRankInfo.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HB0_Event.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HB0_Event/HB001_tagGCAssistInfoList.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HB0_Event/HB001_tagGCAssistInfoList.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HB0_Event/HB002_tagGCClearAssist.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HB0_Event/HB002_tagGCClearAssist.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HB0_Event/HB003_tagGCAssistingInfo.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HB0_Event/HB003_tagGCAssistingInfo.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HB0_Event/HB004_tagGCUseAssistThanksGiftPreview.cs 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HB0_Event/HB004_tagGCUseAssistThanksGiftPreview.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HB0_Event/HB005_tagGCGetAssistThanksGiftPreview.cs 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HB0_Event/HB005_tagGCGetAssistThanksGiftPreview.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HB0_Event/HB006_tagGCCanGetAssistThanksGiftCount.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HB0_Event/HB006_tagGCCanGetAssistThanksGiftCount.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HB2_ActionMap/HB206_tagMCHelpBattleCallResult.cs 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HB4_FightDefine/HB415_tagMCBossHurtValueRankInfo.cs 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HB4_FightDefine/HB415_tagMCBossHurtValueRankInfo.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GA_Player.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GActorInfo.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/AssistConfirmwin.cs 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/AssistConfirmwin.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/BossHurtRankBehaviour.cs 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/BossHurtRankBehaviour.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonAssistModel.cs 146 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonAssistResultCell.cs 83 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonAssistWin.cs 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonAssistWin.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonData.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonModel.cs 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FindPrecious/DemonJarDamageRankWin.cs 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FindPrecious/FindPreciousModel.cs 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FindPrecious/New LightmapParameters.giparams 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FindPrecious/New LightmapParameters.giparams.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/GeneralConfig/GeneralDefine.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/ChatFrame.cs 129 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/MainButtonMisc.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/MainInterfaceWin.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/UIHelper.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/DataToCtl/PackageRegedit.cs
@@ -485,6 +485,17 @@
        Register(typeof(HB511_tagGCEquipStarAutoBuyCostInfo), typeof(DTCB511_tagGCEquipStarAutoBuyCostInfo));
        Register(typeof(HA3B2_tagMCEquipPartSuiteActivateInfo), typeof(DTCA3B2_tagMCEquipPartSuiteActivateInfo));
        Register(typeof(HA3C2_tagMCMasterPlusLVInfo), typeof(DTCA3C2_tagMCMasterPlusLVInfo));
        #region 协助
        Register(typeof(HB001_tagGCAssistInfoList), typeof(DTCB001_tagGCAssistInfoList));
        Register(typeof(HB002_tagGCClearAssist), typeof(DTCB002_tagGCClearAssist));
        Register(typeof(HB003_tagGCAssistingInfo), typeof(DTCB003_tagGCAssistingInfo));
        Register(typeof(HB004_tagGCUseAssistThanksGiftPreview), typeof(DTCB004_tagGCUseAssistThanksGiftPreview));
        Register(typeof(HB005_tagGCGetAssistThanksGiftPreview), typeof(DTCB005_tagGCGetAssistThanksGiftPreview));
        Register(typeof(HB006_tagGCCanGetAssistThanksGiftCount), typeof(DTCB006_tagGCCanGetAssistThanksGiftCount));
        Register(typeof(HB415_tagMCBossHurtValueRankInfo), typeof(DTCB415_tagMCBossHurtValueRankInfo));
        #endregion
    }
    private static void Register(Type _pack, Type _business)
Core/GameEngine/Model/Player/Character/PlayerBaseData.cs
@@ -32,6 +32,7 @@
    public byte FBID;    //fb id
    public byte realmLevel;    //旧服务端官阶,现项目用于境界
    public byte VIPLv;    //VIP等级
    public uint ExAttr1;    // 协助目标玩家ID,非0变0退出协助
    public uint teamAutoOperateFlag;    //扩展属性2,各项目专用
    public int dungeonLineId;    // 副本线路id
    public uint shield;    //护盾值
Core/GameEngine/Model/Player/PlayerDatas.cs
@@ -548,6 +548,13 @@
                extersion.luckValue = (int)value;
                break;
            case PlayerDataType.ExAttr1:
                if (hero != null && !hero.ActorInfo.serverDie)
                {
                    if (hero.aiHandler.IsAuto())
                    {
                        hero.Behaviour.StopHandupAI(true);
                    }
                }
                break;
            case PlayerDataType.ExAttr2:
                baseData.teamAutoOperateFlag = value;
Core/NetworkPackage/ClientPack/ClientToGameServer/CB0_Event.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 832f6e2573b0eb342bd6f47f14be119a
folderAsset: yes
timeCreated: 1576399625
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ClientPack/ClientToGameServer/CB0_Event/CB012_tagCGStartAssistBoss.cs
New file
@@ -0,0 +1,18 @@
using UnityEngine;
using System.Collections;
// B0 12 开始协助Boss #tagCGStartAssistBoss
public class CB012_tagCGStartAssistBoss : GameNetPackBasic {
    public string AssistGUID;    //协助GUID
    public CB012_tagCGStartAssistBoss () {
        combineCmd = (ushort)0x1801;
        _cmd = (ushort)0xB012;
    }
    public override void WriteToBytes () {
        WriteBytes (AssistGUID, NetDataType.Chars, 40);
    }
}
Core/NetworkPackage/ClientPack/ClientToGameServer/CB0_Event/CB012_tagCGStartAssistBoss.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: ff6baeef1b21ce34fa89094c29e69f61
timeCreated: 1576399626
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ClientPack/ClientToGameServer/CB0_Event/CB013_tagCGCancelAssistBoss.cs
New file
@@ -0,0 +1,18 @@
using UnityEngine;
using System.Collections;
// B0 13 取消协助Boss #tagCGCancelAssistBoss
public class CB013_tagCGCancelAssistBoss : GameNetPackBasic {
    public string AssistGUID;    //协助GUID
    public CB013_tagCGCancelAssistBoss () {
        combineCmd = (ushort)0x1801;
        _cmd = (ushort)0xB013;
    }
    public override void WriteToBytes () {
        WriteBytes (AssistGUID, NetDataType.Chars, 40);
    }
}
Core/NetworkPackage/ClientPack/ClientToGameServer/CB0_Event/CB013_tagCGCancelAssistBoss.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: fdc7db75546bda74dbe295844d021c1e
timeCreated: 1576399626
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ClientPack/ClientToGameServer/CB0_Event/CB014_tagCGUseAssistThanksGift.cs
New file
@@ -0,0 +1,20 @@
using UnityEngine;
using System.Collections;
// B0 14 使用协助感谢礼盒 #tagCGUseAssistThanksGift
public class CB014_tagCGUseAssistThanksGift : GameNetPackBasic {
    public uint ItemID;
    public byte IsPreview;    //是否预览,非预览即确认使用
    public CB014_tagCGUseAssistThanksGift () {
        combineCmd = (ushort)0x1801;
        _cmd = (ushort)0xB014;
    }
    public override void WriteToBytes () {
        WriteBytes (ItemID, NetDataType.DWORD);
        WriteBytes (IsPreview, NetDataType.BYTE);
    }
}
Core/NetworkPackage/ClientPack/ClientToGameServer/CB0_Event/CB014_tagCGUseAssistThanksGift.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 3b9196fca22b520498eed241259e55f2
timeCreated: 1576399625
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ClientPack/ClientToGameServer/CB0_Event/CB015_tagCGGetAssistThanksGift.cs
New file
@@ -0,0 +1,18 @@
using UnityEngine;
using System.Collections;
// B0 15 接收协助感谢礼物 #tagCGGetAssistThanksGift
public class CB015_tagCGGetAssistThanksGift : GameNetPackBasic {
    public byte IsPreview;    //是否预览,非预览即确认领取,无额外奖励确认时也需要回复领取包代表已读
    public CB015_tagCGGetAssistThanksGift () {
        combineCmd = (ushort)0x1801;
        _cmd = (ushort)0xB015;
    }
    public override void WriteToBytes () {
        WriteBytes (IsPreview, NetDataType.BYTE);
    }
}
Core/NetworkPackage/ClientPack/ClientToGameServer/CB0_Event/CB015_tagCGGetAssistThanksGift.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 15574a7d1b073854aaa7e09504bcf2d7
timeCreated: 1576399625
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ClientPack/ClientToMapServer/CB0_Event.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 615aae5dd2749ef44a77c04d895128fe
folderAsset: yes
timeCreated: 1576399625
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ClientPack/ClientToMapServer/CB0_Event/CB010_tagCMRequestAssistBoss.cs
New file
@@ -0,0 +1,20 @@
using UnityEngine;
using System.Collections;
// B0 10 请求协助Boss #tagCMRequestAssistBoss
public class CB010_tagCMRequestAssistBoss : GameNetPackBasic {
    public uint ObjID;
    public uint NPCID;
    public CB010_tagCMRequestAssistBoss () {
        combineCmd = (ushort)0x03FE;
        _cmd = (ushort)0xB010;
    }
    public override void WriteToBytes () {
        WriteBytes (ObjID, NetDataType.DWORD);
        WriteBytes (NPCID, NetDataType.DWORD);
    }
}
Core/NetworkPackage/ClientPack/ClientToMapServer/CB0_Event/CB010_tagCMRequestAssistBoss.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 29803723a17b5204f95c649ea7e6cf73
timeCreated: 1576399625
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ClientPack/ClientToMapServer/CB0_Event/CB011_tagCMRequestAssistTeamFB.cs
New file
@@ -0,0 +1,20 @@
using UnityEngine;
using System.Collections;
// B0 11 请求协助组队副本 #tagCMRequestAssistTeamFB
public class CB011_tagCMRequestAssistTeamFB : GameNetPackBasic {
    public ushort MapID;
    public ushort LineID;
    public CB011_tagCMRequestAssistTeamFB () {
        combineCmd = (ushort)0x03FE;
        _cmd = (ushort)0xB011;
    }
    public override void WriteToBytes () {
        WriteBytes (MapID, NetDataType.WORD);
        WriteBytes (LineID, NetDataType.WORD);
    }
}
Core/NetworkPackage/ClientPack/ClientToMapServer/CB0_Event/CB011_tagCMRequestAssistTeamFB.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: a1120172388fbfc4c893a8f6b574266e
timeCreated: 1576399625
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0418_tagObjInfoRefresh.cs
@@ -146,6 +146,9 @@
                case PlayerDataType.RealmLevel:
                    _player.ActorInfo.realm = vNetData.Value;
                    break;
                case PlayerDataType.ExAttr1:
                    _player.ActorInfo.ExAttr1 = vNetData.Value;
                    break;
            }
            if ((PlayerDataType)vNetData.RefreshType == PlayerDataType.Family
Core/NetworkPackage/DTCFile/ServerPack/HA7_Arena/DTCA709_tagObjInfoListRefresh.cs
@@ -73,6 +73,12 @@
                    case PlayerDataType.BattleValEx1:
                        _player.CalculateAtkSpeed(vNetData.Value);
                        break;
                    case PlayerDataType.ExAttr1:
                        _player.ActorInfo.ExAttr1 = vNetData.Value;
                        break;
                    case PlayerDataType.RealmLevel:
                        _player.ActorInfo.realm = vNetData.Value;
                        break;
                }
                if ((PlayerDataType)vNetData.RefreshType == PlayerDataType.Family
Core/NetworkPackage/DTCFile/ServerPack/HB0_Event.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 58cdabce38dec204a8a8344d42f8f0ed
folderAsset: yes
timeCreated: 1576399625
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/DTCFile/ServerPack/HB0_Event/DTCB001_tagGCAssistInfoList.cs
New file
@@ -0,0 +1,13 @@
using UnityEngine;
using System.Collections;
using Snxxz.UI;
// B0 01 新增协助 #tagGCAssistInfoList
public class DTCB001_tagGCAssistInfoList : DtcBasic {
    DungeonAssistModel assistModel { get { return ModelCenter.Instance.GetModel<DungeonAssistModel>(); } }
    public override void Done(GameNetPackBasic vNetPack) {
        base.Done(vNetPack);
        HB001_tagGCAssistInfoList vNetData = vNetPack as HB001_tagGCAssistInfoList;         assistModel.UpdateAssistInfoByPack(vNetData);
    }
}
Core/NetworkPackage/DTCFile/ServerPack/HB0_Event/DTCB001_tagGCAssistInfoList.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: f6dce3f5cd8386c4db9ae3a506b5fb3e
timeCreated: 1576399626
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/DTCFile/ServerPack/HB0_Event/DTCB002_tagGCClearAssist.cs
New file
@@ -0,0 +1,13 @@
using UnityEngine;
using System.Collections;
using Snxxz.UI;
// B0 02 删除协助 #tagGCClearAssist
public class DTCB002_tagGCClearAssist : DtcBasic {
    DungeonAssistModel assistModel { get { return ModelCenter.Instance.GetModel<DungeonAssistModel>(); } }
    public override void Done(GameNetPackBasic vNetPack) {
        base.Done(vNetPack);
        HB002_tagGCClearAssist vNetData = vNetPack as HB002_tagGCClearAssist;         assistModel.DelAssistInfoByPack(vNetData);
    }
}
Core/NetworkPackage/DTCFile/ServerPack/HB0_Event/DTCB002_tagGCClearAssist.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: a260bbb26b621b84fb04a817aee62599
timeCreated: 1576399626
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/DTCFile/ServerPack/HB0_Event/DTCB003_tagGCAssistingInfo.cs
New file
@@ -0,0 +1,11 @@
using UnityEngine;
using System.Collections;
// B0 03 正在进行中的协助 #tagGCAssistingInfo
public class DTCB003_tagGCAssistingInfo : DtcBasic {
    public override void Done(GameNetPackBasic vNetPack) {
        base.Done(vNetPack);
        HB003_tagGCAssistingInfo vNetData = vNetPack as HB003_tagGCAssistingInfo;
    }
}
Core/NetworkPackage/DTCFile/ServerPack/HB0_Event/DTCB003_tagGCAssistingInfo.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: b80de05dd74f4a24b8997d18397a7869
timeCreated: 1576399626
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/DTCFile/ServerPack/HB0_Event/DTCB004_tagGCUseAssistThanksGiftPreview.cs
New file
@@ -0,0 +1,11 @@
using UnityEngine;
using System.Collections;
// B0 04 使用协助感谢礼盒预览 #tagGCUseAssistThanksGiftPreview
public class DTCB004_tagGCUseAssistThanksGiftPreview : DtcBasic {
    public override void Done(GameNetPackBasic vNetPack) {
        base.Done(vNetPack);
        HB004_tagGCUseAssistThanksGiftPreview vNetData = vNetPack as HB004_tagGCUseAssistThanksGiftPreview;
    }
}
Core/NetworkPackage/DTCFile/ServerPack/HB0_Event/DTCB004_tagGCUseAssistThanksGiftPreview.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: f0f19180835a4c34692576d33d45b978
timeCreated: 1576399626
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/DTCFile/ServerPack/HB0_Event/DTCB005_tagGCGetAssistThanksGiftPreview.cs
New file
@@ -0,0 +1,11 @@
using UnityEngine;
using System.Collections;
// B0 05 接收协助感谢礼物预览 #tagGCGetAssistThanksGiftPreview
public class DTCB005_tagGCGetAssistThanksGiftPreview : DtcBasic {
    public override void Done(GameNetPackBasic vNetPack) {
        base.Done(vNetPack);
        HB005_tagGCGetAssistThanksGiftPreview vNetData = vNetPack as HB005_tagGCGetAssistThanksGiftPreview;
    }
}
Core/NetworkPackage/DTCFile/ServerPack/HB0_Event/DTCB005_tagGCGetAssistThanksGiftPreview.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 1c59d7865e504534f9feaca9fb057b07
timeCreated: 1576399625
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/DTCFile/ServerPack/HB0_Event/DTCB006_tagGCCanGetAssistThanksGiftCount.cs
New file
@@ -0,0 +1,11 @@
using UnityEngine;
using System.Collections;
// B0 06 可接收协助感谢礼物个数 #tagGCCanGetAssistThanksGiftCount
public class DTCB006_tagGCCanGetAssistThanksGiftCount : DtcBasic {
    public override void Done(GameNetPackBasic vNetPack) {
        base.Done(vNetPack);
        HB006_tagGCCanGetAssistThanksGiftCount vNetData = vNetPack as HB006_tagGCCanGetAssistThanksGiftCount;
    }
}
Core/NetworkPackage/DTCFile/ServerPack/HB0_Event/DTCB006_tagGCCanGetAssistThanksGiftCount.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 19377b5e340e89c43811d2f9a188e8b9
timeCreated: 1576399625
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/DTCFile/ServerPack/HB2_ActionMap/DTCB206_tagMCHelpBattleCallResult.cs
@@ -19,7 +19,7 @@
        HB206_tagMCHelpBattleCallResult vNetData = vNetPack as HB206_tagMCHelpBattleCallResult;
        assistModel.UpdataAssistPlayer(vNetData);
        int _job = vNetData.job == 0 ? 1 : vNetData.job;
        int _job = vNetData.Job == 0 ? 1 : vNetData.Job;
        string _content = string.Format("{0}|{1}", vNetData.PlayerID, _job);
        LocalSave.SetString("GA_NpcFightZZPlayer_" + vNetData.ObjID, _content);
Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB415_tagMCBossHurtValueRankInfo.cs
New file
@@ -0,0 +1,12 @@
using UnityEngine;
using System.Collections;
using Snxxz.UI;
// B4 15 Boss伤血排行榜信息 #tagMCBossHurtValueRankInfo
public class DTCB415_tagMCBossHurtValueRankInfo : DtcBasic {
    DungeonModel model { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
    public override void Done(GameNetPackBasic vNetPack) {
        base.Done(vNetPack);
        HB415_tagMCBossHurtValueRankInfo vNetData = vNetPack as HB415_tagMCBossHurtValueRankInfo;         model.UpdateBossHurtRank(vNetData);
    }
}
Core/NetworkPackage/DTCFile/ServerPack/HB4_FightDefine/DTCB415_tagMCBossHurtValueRankInfo.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 578798270076b08458a70792db08fae6
timeCreated: 1576399625
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ServerPack/HB0_Event.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 95cf7a041b56dc74783a2349963761aa
folderAsset: yes
timeCreated: 1576399624
licenseType: Pro
DefaultImporter:
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ServerPack/HB0_Event/HB001_tagGCAssistInfoList.cs
New file
@@ -0,0 +1,45 @@
using UnityEngine;
using System.Collections;
// B0 01 新增协助 #tagGCAssistInfoList
public class HB001_tagGCAssistInfoList : GameNetPackBasic {
    public byte Count;
    public  tagGCAssistInfo[] AssistInfoList;
    public HB001_tagGCAssistInfoList () {
        _cmd = (ushort)0xB001;
    }
    public override void ReadFromBytes (byte[] vBytes) {
        TransBytes (out Count, vBytes, NetDataType.BYTE);
        AssistInfoList = new tagGCAssistInfo[Count];
        for (int i = 0; i < Count; i ++) {
            AssistInfoList[i] = new tagGCAssistInfo();
            TransBytes (out AssistInfoList[i].AssistGUID, vBytes, NetDataType.Chars, 40);
            TransBytes (out AssistInfoList[i].PlayerName, vBytes, NetDataType.Chars, 33);
            TransBytes (out AssistInfoList[i].Job, vBytes, NetDataType.BYTE);
            TransBytes (out AssistInfoList[i].LV, vBytes, NetDataType.WORD);
            TransBytes (out AssistInfoList[i].RealmLV, vBytes, NetDataType.BYTE);
            TransBytes (out AssistInfoList[i].MapID, vBytes, NetDataType.DWORD);
            TransBytes (out AssistInfoList[i].LineID, vBytes, NetDataType.DWORD);
            TransBytes (out AssistInfoList[i].NPCID, vBytes, NetDataType.DWORD);
            TransBytes (out AssistInfoList[i].ExDataLen, vBytes, NetDataType.WORD);
            TransBytes (out AssistInfoList[i].ExData, vBytes, NetDataType.Chars, AssistInfoList[i].ExDataLen);
        }
    }
    public struct tagGCAssistInfo {
        public string AssistGUID;        //协助GUID
        public string PlayerName;
        public byte Job;
        public ushort LV;        //等级
        public byte RealmLV;        //境界
        public uint MapID;
        public uint LineID;
        public uint NPCID;
        public ushort ExDataLen;
        public string ExData;        //其他自定义数据
    }
}
Core/NetworkPackage/ServerPack/HB0_Event/HB001_tagGCAssistInfoList.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: c83ef5dfb6678b147b7557d30374106e
timeCreated: 1576399626
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ServerPack/HB0_Event/HB002_tagGCClearAssist.cs
New file
@@ -0,0 +1,17 @@
using UnityEngine;
using System.Collections;
// B0 02 删除协助 #tagGCClearAssist
public class HB002_tagGCClearAssist : GameNetPackBasic {
    public string AssistGUID;    //协助GUID
    public HB002_tagGCClearAssist () {
        _cmd = (ushort)0xB002;
    }
    public override void ReadFromBytes (byte[] vBytes) {
        TransBytes (out AssistGUID, vBytes, NetDataType.Chars, 40);
    }
}
Core/NetworkPackage/ServerPack/HB0_Event/HB002_tagGCClearAssist.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: f0ffc077baced8f4897cc84718a93be0
timeCreated: 1576399626
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ServerPack/HB0_Event/HB003_tagGCAssistingInfo.cs
New file
@@ -0,0 +1,17 @@
using UnityEngine;
using System.Collections;
// B0 03 正在进行中的协助 #tagGCAssistingInfo
public class HB003_tagGCAssistingInfo : GameNetPackBasic {
    public string AssistGUID;    //协助GUID
    public HB003_tagGCAssistingInfo () {
        _cmd = (ushort)0xB003;
    }
    public override void ReadFromBytes (byte[] vBytes) {
        TransBytes (out AssistGUID, vBytes, NetDataType.Chars, 40);
    }
}
Core/NetworkPackage/ServerPack/HB0_Event/HB003_tagGCAssistingInfo.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 9f3df043dcf557f43985998f41d27536
timeCreated: 1576399625
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ServerPack/HB0_Event/HB004_tagGCUseAssistThanksGiftPreview.cs
New file
@@ -0,0 +1,47 @@
using UnityEngine;
using System.Collections;
// B0 04 使用协助感谢礼盒预览 #tagGCUseAssistThanksGiftPreview
public class HB004_tagGCUseAssistThanksGiftPreview : GameNetPackBasic {
    public uint ItemID;    //礼盒ID
    public uint MapID;
    public uint LineID;
    public uint NPCID;
    public ushort ExDataLen;
    public string ExData;    //其他自定义数据
    public byte AssistPlayerCount;
    public  tagGCAssistPlayerInfo[] AssistPlayerList;    //协助玩家列表
    public HB004_tagGCUseAssistThanksGiftPreview () {
        _cmd = (ushort)0xB004;
    }
    public override void ReadFromBytes (byte[] vBytes) {
        TransBytes (out ItemID, vBytes, NetDataType.DWORD);
        TransBytes (out MapID, vBytes, NetDataType.DWORD);
        TransBytes (out LineID, vBytes, NetDataType.DWORD);
        TransBytes (out NPCID, vBytes, NetDataType.DWORD);
        TransBytes (out ExDataLen, vBytes, NetDataType.WORD);
        TransBytes (out ExData, vBytes, NetDataType.Chars, ExDataLen);
        TransBytes (out AssistPlayerCount, vBytes, NetDataType.BYTE);
        AssistPlayerList = new tagGCAssistPlayerInfo[AssistPlayerCount];
        for (int i = 0; i < AssistPlayerCount; i ++) {
            AssistPlayerList[i] = new tagGCAssistPlayerInfo();
            TransBytes (out AssistPlayerList[i].PlayerID, vBytes, NetDataType.DWORD);
            TransBytes (out AssistPlayerList[i].PlayerName, vBytes, NetDataType.Chars, 33);
            TransBytes (out AssistPlayerList[i].Job, vBytes, NetDataType.BYTE);
            TransBytes (out AssistPlayerList[i].LV, vBytes, NetDataType.WORD);
            TransBytes (out AssistPlayerList[i].RealmLV, vBytes, NetDataType.BYTE);
        }
    }
    public struct tagGCAssistPlayerInfo {
        public uint PlayerID;
        public string PlayerName;
        public byte Job;
        public ushort LV;
        public byte RealmLV;        //境界
    }
}
Core/NetworkPackage/ServerPack/HB0_Event/HB004_tagGCUseAssistThanksGiftPreview.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: bfea432c1f3f0d7419ae517657d5ac5b
timeCreated: 1576399626
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ServerPack/HB0_Event/HB005_tagGCGetAssistThanksGiftPreview.cs
New file
@@ -0,0 +1,41 @@
using UnityEngine;
using System.Collections;
// B0 05 接收协助感谢礼物预览 #tagGCGetAssistThanksGiftPreview
public class HB005_tagGCGetAssistThanksGiftPreview : GameNetPackBasic {
    public uint ItemID;    //礼盒ID
    public uint PlayerID;    //发起玩家ID
    public string PlayerName;
    public byte Job;
    public ushort LV;
    public byte RealmLV;    //境界
    public uint MapID;
    public uint LineID;
    public uint NPCID;
    public ushort ExDataLen;
    public string ExData;    //其他自定义数据
    public string TimeStr;    //协助时间yyyy-MM-dd hh:mm:ss
    public byte ExtraAward;    //是否有额外奖励
    public HB005_tagGCGetAssistThanksGiftPreview () {
        _cmd = (ushort)0xB005;
    }
    public override void ReadFromBytes (byte[] vBytes) {
        TransBytes (out ItemID, vBytes, NetDataType.DWORD);
        TransBytes (out PlayerID, vBytes, NetDataType.DWORD);
        TransBytes (out PlayerName, vBytes, NetDataType.Chars, 33);
        TransBytes (out Job, vBytes, NetDataType.BYTE);
        TransBytes (out LV, vBytes, NetDataType.WORD);
        TransBytes (out RealmLV, vBytes, NetDataType.BYTE);
        TransBytes (out MapID, vBytes, NetDataType.DWORD);
        TransBytes (out LineID, vBytes, NetDataType.DWORD);
        TransBytes (out NPCID, vBytes, NetDataType.DWORD);
        TransBytes (out ExDataLen, vBytes, NetDataType.WORD);
        TransBytes (out ExData, vBytes, NetDataType.Chars, ExDataLen);
        TransBytes (out TimeStr, vBytes, NetDataType.Chars, 19);
        TransBytes (out ExtraAward, vBytes, NetDataType.BYTE);
    }
}
Core/NetworkPackage/ServerPack/HB0_Event/HB005_tagGCGetAssistThanksGiftPreview.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 31c1d18378f4c004bbd637bfd5d33f10
timeCreated: 1576399625
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ServerPack/HB0_Event/HB006_tagGCCanGetAssistThanksGiftCount.cs
New file
@@ -0,0 +1,17 @@
using UnityEngine;
using System.Collections;
// B0 06 可接收协助感谢礼物个数 #tagGCCanGetAssistThanksGiftCount
public class HB006_tagGCCanGetAssistThanksGiftCount : GameNetPackBasic {
    public byte CanGetCount;
    public HB006_tagGCCanGetAssistThanksGiftCount () {
        _cmd = (ushort)0xB006;
    }
    public override void ReadFromBytes (byte[] vBytes) {
        TransBytes (out CanGetCount, vBytes, NetDataType.BYTE);
    }
}
Core/NetworkPackage/ServerPack/HB0_Event/HB006_tagGCCanGetAssistThanksGiftCount.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 65fb12e6d91a622408ca53452d74a140
timeCreated: 1576399625
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/ServerPack/HB2_ActionMap/HB206_tagMCHelpBattleCallResult.cs
@@ -1,42 +1,21 @@
using UnityEngine;
using System.Collections;
// B2 06 ��ս�ٻ���� #tagMCHelpBattleCallResult
// B2 06 助战召唤结果 #tagMCHelpBattleCallResult
public class HB206_tagMCHelpBattleCallResult : GameNetPackBasic {
    public uint ObjID;    // 助战实例ID
    public uint PlayerID;    // 助战镜像ID,大于1小于100代表机器人,如果是机器人前端按顺序自己记录对应实例ID代表已召唤
    public byte Job;    // 职业
public class HB206_tagMCHelpBattleCallResult : GameNetPackBasic
{
    public uint ObjID;    // ��սʵ��ID
    public uint PlayerID;    // ��ս����ID,����1С��100���������,����ǻ�����ǰ�˰�˳���Լ���¼��Ӧʵ��ID�������ٻ�
    public byte job;    // ְҵ
    public HB206_tagMCHelpBattleCallResult()
    {
    public HB206_tagMCHelpBattleCallResult () {
        _cmd = (ushort)0xB206;
    }
    public override void ReadFromBytes(byte[] vBytes)
    {
        TransBytes(out ObjID, vBytes, NetDataType.DWORD);
        TransBytes(out PlayerID, vBytes, NetDataType.DWORD);
        TransBytes(out job, vBytes, NetDataType.BYTE);
    public override void ReadFromBytes (byte[] vBytes) {
        TransBytes (out ObjID, vBytes, NetDataType.DWORD);
        TransBytes (out PlayerID, vBytes, NetDataType.DWORD);
        TransBytes (out Job, vBytes, NetDataType.BYTE);
    }
}
}
Core/NetworkPackage/ServerPack/HB4_FightDefine/HB415_tagMCBossHurtValueRankInfo.cs
New file
@@ -0,0 +1,55 @@
using UnityEngine;
using System.Collections;
// B4 15 Boss伤血排行榜信息 #tagMCBossHurtValueRankInfo
public class HB415_tagMCBossHurtValueRankInfo : GameNetPackBasic {
    public uint ObjID;    //NPC实例ID
    public byte HurtCount;    //伤血数目
    public  tagMCBossHurtValue[] HurtValueList;
    public byte AssistHurtCount;    //助战伤血数目
    public  tagMCBossHurtValueAssist[] AssistHurtValueList;
    public HB415_tagMCBossHurtValueRankInfo () {
        _cmd = (ushort)0xB415;
    }
    public override void ReadFromBytes (byte[] vBytes) {
        TransBytes (out ObjID, vBytes, NetDataType.DWORD);
        TransBytes (out HurtCount, vBytes, NetDataType.BYTE);
        HurtValueList = new tagMCBossHurtValue[HurtCount];
        for (int i = 0; i < HurtCount; i ++) {
            HurtValueList[i] = new tagMCBossHurtValue();
            TransBytes (out HurtValueList[i].HurtType, vBytes, NetDataType.BYTE);
            TransBytes (out HurtValueList[i].HurtID, vBytes, NetDataType.DWORD);
            TransBytes (out HurtValueList[i].HurtName, vBytes, NetDataType.Chars, 33);
            TransBytes (out HurtValueList[i].HurtValue, vBytes, NetDataType.DWORD);
            TransBytes (out HurtValueList[i].HurtValueEx, vBytes, NetDataType.DWORD);
        }
        TransBytes (out AssistHurtCount, vBytes, NetDataType.BYTE);
        AssistHurtValueList = new tagMCBossHurtValueAssist[AssistHurtCount];
        for (int i = 0; i < AssistHurtCount; i ++) {
            AssistHurtValueList[i] = new tagMCBossHurtValueAssist();
            TransBytes (out AssistHurtValueList[i].PlayerID, vBytes, NetDataType.DWORD);
            TransBytes (out AssistHurtValueList[i].PlayerName, vBytes, NetDataType.Chars, 33);
            TransBytes (out AssistHurtValueList[i].HurtValue, vBytes, NetDataType.DWORD);
            TransBytes (out AssistHurtValueList[i].HurtValueEx, vBytes, NetDataType.DWORD);
        }
    }
    public struct tagMCBossHurtValue {
        public byte HurtType;        // 伤血类型 1-玩家,2-队伍
        public uint HurtID;        //玩家时为玩家ID,队伍时为队伍ID
        public string HurtName;        // 名称
        public uint HurtValue;        //不超过亿部分
        public uint HurtValueEx;        //支持超过20亿
    }
    public struct tagMCBossHurtValueAssist {
        public uint PlayerID;        // 助战玩家ID
        public string PlayerName;
        public uint HurtValue;        //不超过亿部分
        public uint HurtValueEx;        //支持超过20亿
    }
}
Core/NetworkPackage/ServerPack/HB4_FightDefine/HB415_tagMCBossHurtValueRankInfo.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: ea5260ed8373de343b106ddce8037656
timeCreated: 1576399626
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Fight/GameActor/GA_Player.cs
@@ -156,6 +156,7 @@
        ActorInfo.faction = m_H0434.Faction;
        ActorInfo.Hp = m_H0434.HP;
        ActorInfo.MaxHp = m_H0434.MaxHP;
        ActorInfo.ExAttr1 = m_H0434.ExAttr1;
        if ((package != null && package.socketType == ServerType.CrossSever && CrossServerUtility.IsCrossServerOneVsOne()))
        {
@@ -536,7 +537,7 @@
        {
            realm = ActorInfo.realm,
            title = titleId,
            name = ActorInfo.PlayerName,
            name = ActorInfo.PlayerName + (ActorInfo.ExAttr1 > 0 ? "(助)":""),
            alliance = ActorInfo.familyName,
            isHang = m_H0434.State == 1,
        }
Fight/GameActor/GActorInfo.cs
@@ -42,6 +42,7 @@
    public string familyName;// 仙盟名称
    public int faction;// 阵营, 用来和主角判断是否在同个阵营
    public uint horseItemID;// 坐骑ID
    public uint ExAttr1; //协助玩家ID
    public Vector2 serverBornPos;// 服务端坐标, 目前至对NPC有赋值, 玩家的没有赋值
    public Dictionary<byte, Dictionary<uint, int>> status4012 = new Dictionary<byte, Dictionary<uint, int>>(); // buff给角色增加的状态
    public int GetStatusCount(byte status, uint sid = 0)
System/Dungeon/AssistConfirmwin.cs
New file
@@ -0,0 +1,81 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Thursday, June 21, 2018
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI
{
    public class AssistConfirmwin : Window
    {
        [SerializeField] Button m_CloseButton;
        [SerializeField] Button m_OKButton;
        [SerializeField] RichText m_Text;
        [SerializeField] Button m_button;
        [SerializeField] Image m_Image;
        [SerializeField] Text Count;
        DungeonAssistModel assistModel { get { return ModelCenter.Instance.GetModel<DungeonAssistModel>(); } }
        int FamilyActiveID = 28;
        #region Built-in
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        {
            m_CloseButton.AddListener(CloseClick);
            m_OKButton.AddListener(OnclickOKButton);
            m_button.AddListener(() => { ItemTipUtility.Show(FamilyActiveID); });
        }
        protected override void OnPreOpen()
        {
            var config = ItemConfig.Get(FamilyActiveID);
            m_Image.SetSprite(config.IconKey);
            Count.text = assistModel.assistActiveCnt.ToString();
            m_Text.text = UIHelper.ReplaceNewLine(Language.Get("AssistCheckInfo", assistModel.assistOtherPlayerName,
                assistModel.assistObjStr));
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
        }
        protected override void OnAfterClose()
        {
        }
        #endregion
        private void OnclickOKButton()
        {
            assistModel.SendStartAssistBoss(assistModel.assistGUID);
            Close();
            WindowCenter.Instance.Close<DungeonAssistWin>();
        }
    }
}
System/Dungeon/AssistConfirmwin.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 0e72a6743b99b25469930d5a87a62fe1
timeCreated: 1576832590
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/Dungeon/BossHurtRankBehaviour.cs
New file
@@ -0,0 +1,100 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI
{
    public class BossHurtRankBehaviour : MonoBehaviour
    {
        [SerializeField] List<Text> playerNameTexts;
        [SerializeField] List<Text> valueTexts;
        [SerializeField] Text mineValueText;
        int currentDugeonId = 0;
        private object RegexPlayerDatas;
        DungeonModel model { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        public void Init(int mapID)
        {
            currentDugeonId = mapID;
            SetMineInfo(0, 0);
            SetDefault();
            UpdateBossHurtRankEvent();
        }
        private void OnEnable()
        {
            model.UpdateBossHurtRankEvent += UpdateBossHurtRankEvent;
        }
        private void UpdateBossHurtRankEvent()
        {
            int i = 0;
            if (model.selectHurtModel == 1)
            {
                for (i = 0; i < model.BossHurtRank.bossHurtInfo.Count; i++)
                {
                    if (i < playerNameTexts.Count)
                    {
                        playerNameTexts[i].text = model.BossHurtRank.bossHurtInfo[i].HurtName;
                        valueTexts[i].text = UIHelper.ReplaceLargeNum(model.BossHurtRank.bossHurtInfo[i].totalHurt);
                    }
                }
            }
            else if (model.selectHurtModel == 2)
            {
                for (i = 0; i < model.BossHurtRank.assistBossHurtInfo.Count; i++)
                {
                    if (i < playerNameTexts.Count)
                    {
                        playerNameTexts[i].text = model.BossHurtRank.assistBossHurtInfo[i].playerName;
                        valueTexts[i].text = UIHelper.ReplaceLargeNum(model.BossHurtRank.assistBossHurtInfo[i].totalHurt);
                    }
                }
            }
            while (i < playerNameTexts.Count)
            {
                playerNameTexts[i].text = string.Empty;
                valueTexts[i].text = string.Empty;
                i++;
            }
            SetMineInfo(0, model.BossHurtRank.hurtValueSelf);
        }
        private void SetMineInfo(int rank, long hurt)
        {
            mineValueText.text = UIHelper.ReplaceLargeNum((ulong)hurt);
        }
        private void SetDefault()
        {
            for (int i = 0; i < playerNameTexts.Count; i++)
            {
                playerNameTexts[i].text = string.Empty;
            }
            for (int i = 0; i < valueTexts.Count; i++)
            {
                valueTexts[i].text = string.Empty;
            }
        }
        private void OnDisable()
        {
            model.UpdateBossHurtRankEvent -= UpdateBossHurtRankEvent;
        }
    }
}
System/Dungeon/BossHurtRankBehaviour.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: f60d40452b809744b885c1c57e06a07b
timeCreated: 1576513526
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
System/Dungeon/DungeonAssistModel.cs
@@ -12,14 +12,20 @@
    [XLua.LuaCallCSharp]
    public class DungeonAssistModel : Model, IBeforePlayerDataInitialize,IAfterPlayerDataInitialize,IPlayerLoginOk
    {
        public string helpInfoLocalSave { get; private set; }
        //public string helpInfoLocalSave { get; private set; }
        public List<string> helpInfolist { get; private set; }
        public Dictionary<string, AssistInfo> assistInfoDict = new Dictionary<string, AssistInfo>();
        public event Action UpdateResultEvent;
        FairyModel fairyModel { get { return ModelCenter.Instance.GetModel<FairyModel>(); } }
        FriendsModel friendsModel { get { return ModelCenter.Instance.GetModel<FriendsModel>(); } }
        DailyQuestModel dailyQuestModel { get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); } }
        TeamModel teamModel { get { return ModelCenter.Instance.GetModel<TeamModel>(); } }
        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        public string assistOtherPlayerName = string.Empty;
        public string assistObjStr = string.Empty; //协助额外信息如boss名 或功能名等
        public string assistGUID = string.Empty;
        public int assistActiveCnt = 0;
        public override void Init()
        {
@@ -30,6 +36,7 @@
        public void OnBeforePlayerDataInitialize()
        {
            FuncOpen.Instance.OnFuncStateChangeEvent -= UpdateFuncState;
            assistInfoDict.Clear();
            assistResults.Clear();
            assistRefreshNum = 0;
            IsCheckInOk = false;
@@ -42,8 +49,8 @@
        public void OnAfterPlayerDataInitialize()
        {
            int playerId = (int)PlayerDatas.Instance.baseData.PlayerID;
            helpInfoLocalSave = StringUtility.Contact("HelpInfoLocalSave", playerId);
            GetLocalSaveData();
            //helpInfoLocalSave = StringUtility.Contact("HelpInfoLocalSave", playerId);
            //GetLocalSaveData();
        }
        public void OnPlayerLoginOk()
@@ -51,7 +58,7 @@
            FuncOpen.Instance.OnFuncStateChangeEvent += UpdateFuncState;
            UpdateRedpoint();
            UpdateMainAssistRedpoint();
            //UpdateMainAssistRedpoint();
        }
        public override void UnInit()
@@ -141,7 +148,7 @@
            }
            return false;
        }
        public bool TryGetCurVipAddCoins(out int addCoins)
        {
            addCoins = 0;
@@ -283,22 +290,19 @@
        public int GetNewAssistInfoNum()
        {
            if (helpInfolist == null) return 0;
            int newNum = 0;
            for(int i = 0; i < helpInfolist.Count; i++)
            if (assistInfoDict == null) return 0;
            if (assistInfoDict.Keys.Count() == 1)
            {
                var info = helpInfolist[i];
                string date = string.Empty;
                string result = string.Empty;
                bool isNew = false;
                bool isSelf = false;
                TryGetAssistResult(info,out date,out result,out isNew,out isSelf);
                if(isNew && !isSelf)
                foreach (var assistInfo in assistInfoDict.Values)
                {
                    newNum += 1;
                    if (UIHelper.ServerStringTrim(assistInfo.playerName) == UIHelper.ServerStringTrim(PlayerDatas.Instance.baseData.PlayerName))
                    {
                        //如果只有1个协助信息 且是自己发起的则不计数
                        return 0;
                    }
                }
            }
            return newNum;
            return assistInfoDict.Keys.Count();
        }
        #region 本地数据
@@ -382,27 +386,27 @@
            return battleConfig;
        }
        private void GetLocalSaveData()
        {
            string[] helpInfos = LocalSave.GeStringArray(helpInfoLocalSave);
            helpInfolist = helpInfos == null ? new List<string>() : helpInfos.ToList();
        }
        //private void GetLocalSaveData()
        //{
        //    string[] helpInfos = LocalSave.GeStringArray(helpInfoLocalSave);
        //    helpInfolist = helpInfos == null ? new List<string>() : helpInfos.ToList();
        //}
        public void SetHelpInfoLocalSave(string createDate,string info,bool isNew,bool isSelf)
        {
            helpInfolist = helpInfolist == null ? new List<string>() : helpInfolist;
            if (helpInfolist.Count >= 20)
            {
                helpInfolist.RemoveAt(helpInfolist.Count - 1);
            }
            info = StringUtility.Contact(createDate,"$",info, "$", isNew,"$",isSelf);
            helpInfolist.Insert(0,info);
            LocalSave.SetStringArray(helpInfoLocalSave, helpInfolist.ToArray());
            //helpInfolist = helpInfolist == null ? new List<string>() : helpInfolist;
            //if (helpInfolist.Count >= 20)
            //{
            //    helpInfolist.RemoveAt(helpInfolist.Count - 1);
            //}
            //info = StringUtility.Contact(createDate,"$",info, "$", isNew,"$",isSelf);
            //helpInfolist.Insert(0,info);
            //LocalSave.SetStringArray(helpInfoLocalSave, helpInfolist.ToArray());
            if(UpdateResultEvent != null)
            {
                UpdateResultEvent();
            }
            UpdateMainAssistRedpoint();
            //UpdateMainAssistRedpoint();
        }
        public bool TryGetAssistResult(string _info,out string _date,out string _result,out bool _isNew,out bool _isSelf)
@@ -441,9 +445,9 @@
                    }
                }
            }
            UpdateMainAssistRedpoint();
            LocalSave.DeleteKey(helpInfoLocalSave);
            LocalSave.SetStringArray(helpInfoLocalSave, helpInfolist.ToArray());
            //UpdateMainAssistRedpoint();
            //LocalSave.DeleteKey(helpInfoLocalSave);
            //LocalSave.SetStringArray(helpInfoLocalSave, helpInfolist.ToArray());
        }
        #endregion
@@ -566,6 +570,7 @@
        }
        #region 助战登记
        // 20191216 自己的助战信息改成他人请求协助列表,保留助战登记
        public bool IsCheckInOk { get; private set; }
        public bool IsRegisterToday { get; private set; }
        public event Action UpdateCheckInResultEvent;
@@ -622,11 +627,68 @@
        }
        #endregion
        // 盟内请求协助列表
        public event Action UpdateAssistInfo;
        // 新增协助
        public void UpdateAssistInfoByPack(HB001_tagGCAssistInfoList assistPack)
        {
            for (int i = 0; i < assistPack.Count; i++)
            {
                assistInfoDict[assistPack.AssistInfoList[i].AssistGUID] = new AssistInfo() {
                    guid = assistPack.AssistInfoList[i].AssistGUID,
                    playerName = assistPack.AssistInfoList[i].PlayerName,
                    job = assistPack.AssistInfoList[i].Job,
                    lv = assistPack.AssistInfoList[i].LV,
                    realmLV = assistPack.AssistInfoList[i].RealmLV,
                    mapID = assistPack.AssistInfoList[i].MapID,
                    lineID = assistPack.AssistInfoList[i].LineID,
                    npcID = assistPack.AssistInfoList[i].NPCID,
                    exData = assistPack.AssistInfoList[i].ExData,
                };
            }
            UpdateMainAssistRedpoint();
            if (UpdateAssistInfo != null)
                UpdateAssistInfo();
        }
        // 删除某个(他人)协助请求
        public void DelAssistInfoByPack(HB002_tagGCClearAssist ClearAssist)
        {
            if (assistInfoDict.ContainsKey(ClearAssist.AssistGUID))
            {
                assistInfoDict.Remove(ClearAssist.AssistGUID);
            }
            UpdateMainAssistRedpoint();
            if (UpdateAssistInfo != null)
                UpdateAssistInfo();
        }
        // B0 10 发起者请求协助Boss
        public void SendRequestAssistBoss(uint npcObjID)
        {
            GActor actore = GAMgr.Instance.GetBySID(npcObjID);
            int npcID = (actore as GActorNpcFight).NpcConfig.NPCID;
            var send = new CB010_tagCMRequestAssistBoss();
            send.ObjID = npcObjID;
            send.NPCID = (uint)(actore as GActorNpcFight).NpcConfig.NPCID;
            GameNetSystem.Instance.SendInfo(send);
        }
        // B0 12 开始协助Boss #tagCGStartAssistBoss
        public void SendStartAssistBoss(string guid)
        {
            var send = new CB012_tagCGStartAssistBoss();
            send.AssistGUID = guid;
            GameNetSystem.Instance.SendInfo(send);
        }
        #endregion
        #region 红点
        public const int AssistCheckInRedPoint = 7800001;
        public Redpoint main_AssistRedpoint = new Redpoint(7800002);
        public Redpoint main_AssistRedpoint = new Redpoint(51);//(7800002);
        public Redpoint checkInRedpoint { get; private set; }
        public event Action UpdateRedpointEvent;
        public void SetRedpoint()
@@ -1253,5 +1315,19 @@
            Ally = 2, //盟友
            FriendAndAlly = 3, //既是好友又是盟友
        }
        // 请求者协助信息
        public struct AssistInfo
        {
            public string guid;
            public string playerName;   //请求者
            public int job;
            public int lv;
            public int realmLV;
            public uint mapID;
            public uint lineID;
            public uint npcID;
            public string exData;
        }
    }
}
System/Dungeon/DungeonAssistResultCell.cs
@@ -7,25 +7,78 @@
    [XLua.Hotfix]
    public class DungeonAssistResultCell : ScrollerUI
    {
        [SerializeField] Text dateText;
        [SerializeField] Text result;
        [SerializeField] Image newImg;
        [SerializeField] GameObject selfBg;
        [SerializeField] Image playerIcon;
        [SerializeField] Text playerName;
        [SerializeField] Text playerLV;
        [SerializeField] Text assistTitle;
        [SerializeField] Text assistInfoText;
        [SerializeField] Button assistBtn;
        [SerializeField] Transform LockObj;
        [SerializeField] Text LockText;
        DungeonAssistModel assistModel { get { return ModelCenter.Instance.GetModel<DungeonAssistModel>(); } }
        FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
        public override void Refresh(CellView cell)
        {
            var resultlist = assistModel.helpInfolist;
            string resultInfo = resultlist[cell.index];
            bool isNew = false;
            string info = string.Empty;
            string date = string.Empty;
            bool isSelf = false;
            assistModel.TryGetAssistResult(resultInfo,out date,out info,out isNew,out isSelf);
            dateText.text = date;
            result.text = info;
            newImg.gameObject.SetActive(isNew);
            selfBg.SetActive(isSelf);
            if (!assistModel.assistInfoDict.ContainsKey(cell.info.Value.infoStr1))
            {
                return;
            }
            var assistInfo = assistModel.assistInfoDict[cell.info.Value.infoStr1];
            playerIcon.SetSprite(GeneralDefine.GetJobHeadPortrait(assistInfo.job, 0));
            string assistName = UIHelper.ServerStringTrim(assistInfo.playerName);
            playerName.text = assistName;
            playerLV.text = Language.Get("Z1024", assistInfo.lv);
            var config = MapConfig.Get((int)assistInfo.mapID);
            assistTitle.text = config.Name;
            NPCConfig cfg = NPCConfig.Get((int)assistInfo.npcID);
            //助战信息根据扩展信息后续补充
            assistInfoText.text = "击杀" + UIHelper.GetRealmNameEx(cfg.Realm, "【{0}】", true) + UIHelper.AppendColor(TextColType.Blue, cfg.charName + "LV." + cfg.NPCLV);
            if (UIHelper.ServerStringTrim(assistName) == UIHelper.ServerStringTrim(PlayerDatas.Instance.baseData.PlayerName))
            {
                assistBtn.gameObject.SetActive(false);
                LockObj.gameObject.SetActive(false);
            }
            else
            {
                if (!findPreciousModel.IsBossUnlock((int)assistInfo.npcID))
                {
                    assistBtn.gameObject.SetActive(false);
                    LockObj.gameObject.SetActive(true);
                    LockText.text = UIHelper.GetRealmName(cfg.Realm, true) + "解锁";
                }
                else
                {
                    assistBtn.gameObject.SetActive(true);
                    LockObj.gameObject.SetActive(false);
                    assistBtn.SetListener(() =>
                    {
                        assistModel.assistOtherPlayerName = assistName;
                        assistModel.assistObjStr = cfg.charName;
                        assistModel.assistGUID = cell.info.Value.infoStr1;
                        WindowCenter.Instance.Open<AssistConfirmwin>();
                        int funcID = findPreciousModel.GetBossFuncIDByBossID((int)assistInfo.npcID);
                        if (GeneralDefine.FBAssistAward.ContainsKey((int)assistInfo.mapID))
                        {
                            assistModel.assistActiveCnt = GeneralDefine.FBAssistAward[PlayerDatas.Instance.baseData.MapID][1];
                        }
                        else if (GeneralDefine.BossAssistAward.ContainsKey(funcID))
                        {
                            assistModel.assistActiveCnt = GeneralDefine.BossAssistAward[funcID][1];
                        }
                    });
                }
            }
        }
    }
}
System/Dungeon/DungeonAssistWin.cs
@@ -8,20 +8,13 @@
    public class DungeonAssistWin : Window, SecondWindowInterface
    {
        [SerializeField] ScrollerController resultCtrl;
        [SerializeField] Text dayScoreText;
        [SerializeField] Text dungeonScoreText;
        [SerializeField] Button storeBtn;
        [SerializeField] Button registerBtn;
        [SerializeField] Button m_AddFriend;
        [SerializeField] Text vipAddText;
        [SerializeField] Text vipRatioText;
        [SerializeField] Text vipMaxAddText;
        [SerializeField] Text vipMaxRatioText;
        [SerializeField] GameObject privilege_01;
        [SerializeField] GameObject privilege_02;
        [SerializeField] GameObject privilege_01Max;
        [SerializeField] GameObject privilege_02Max;
        [SerializeField] GameObject noResultObj;
        [SerializeField] FunctionButton m_FamilyHelpBtn;
        [SerializeField] FunctionButtonGroup m_FuncBtnGroup;
        [SerializeField] Text m_ActiveCount;
        [SerializeField] Text m_SocialActiveCount;
        DungeonAssistModel assistModel { get { return ModelCenter.Instance.GetModel<DungeonAssistModel>(); } }
        StoreModel storeModel { get { return ModelCenter.Instance.GetModel<StoreModel>(); } }
@@ -39,19 +32,28 @@
            }
        }
        protected override void OnActived()
        {
            base.OnActived();
            functionOrder = m_FamilyHelpBtn.order;
            m_FuncBtnGroup.TriggerByOrder(functionOrder);
        }
        protected override void AddListeners()
        {
            close.AddListener(CloseClick);
            storeBtn.AddListener(ClickStore);
            registerBtn.AddListener(ClickAssistRegister);
            m_AddFriend.SetListener(OpenAddFriendWindow);
            m_FamilyHelpBtn.SetListener(()=> { });
        }
        protected override void OnPreOpen()
        {
            PlayerDetails.updateDetailTypeEvent += ClickFunc;
            assistModel.UpdateCheckInResultEvent += UpdateCheckInResult;
            assistModel.UpdateResultEvent += UpdateResult;
            assistModel.UpdateAssistInfo += UpdateAssistInfo;
            PlayerDatas.Instance.playerDataRefreshEvent += UpdateAssistCoins;
            SetDisplay();
        }
@@ -65,7 +67,7 @@
        {
            PlayerDatas.Instance.playerDataRefreshEvent -= UpdateAssistCoins;
            PlayerDetails.updateDetailTypeEvent -= ClickFunc;
            assistModel.UpdateResultEvent -= UpdateResult;
            assistModel.UpdateAssistInfo -= UpdateAssistInfo;
            assistModel.UpdateCheckInResultEvent -= UpdateCheckInResult;
            assistModel.SetHelpInfoRead();
        }
@@ -80,84 +82,36 @@
        {
            CreateResultCell();
            UpdateRegisterBtn();
            UpdateVipAddCoins();
            UpdateXianYuanCoins();
        }
        private void CreateResultCell()
        {
            var resultlist = assistModel.helpInfolist;
            if (resultlist != null)
            {
                resultCtrl.Refresh();
                for (int i = 0; i < resultlist.Count; i++)
                {
                    resultCtrl.AddCell(ScrollerDataType.Header, i);
                }
                resultCtrl.Restart();
            }
            resultCtrl.Refresh();
            noResultObj.SetActive(resultlist == null || resultlist.Count < 1);
            int i = 0;
            foreach (string guid in assistModel.assistInfoDict.Keys)
            {
                CellInfo info = new CellInfo();
                info.infoStr1 = guid;
                resultCtrl.AddCell(ScrollerDataType.Header, i, info);
                i++;
            }
            resultCtrl.Restart();
            noResultObj.SetActive(i == 0);
        }
        private void UpdateResult()
        private void UpdateAssistInfo()
        {
            CreateResultCell();
        }
        private void UpdateAssistCoins(PlayerDataType type)
        {
            switch (type)
            {
                case PlayerDataType.ExAttr11:
                    UpdateXianYuanCoins();
                    break;
                case PlayerDataType.FBHelpPoint:
                    UpdateXianYuanCoins();
                    break;
            }
        }
        private void UpdateXianYuanCoins()
        {
            int addCoins = 0;
            assistModel.TryGetCurVipAddCoins(out addCoins);
            int limitCoins = assistModel.maxXianYuanCoins + addCoins;
            dayScoreText.text = StringUtility.Contact(PlayerDatas.Instance.baseData.ExAttr11, "/", limitCoins);
            dungeonScoreText.text = UIHelper.GetMoneyCnt(17).ToString();
        }
        private void UpdateVipAddCoins()
        {
            int addvipLv = 0;
            int addCoins = 0;
            bool isAddMax = assistModel.IsMaxAssistCoinsAddByVip(out addvipLv, out addCoins);
            privilege_01.SetActive(!isAddMax);
            privilege_01Max.SetActive(isAddMax);
            if (!isAddMax)
            {
                vipAddText.text = Language.Get("DungeonAssist125", addvipLv, addCoins);
            }
            else
            {
                vipMaxAddText.text = Language.Get("DungeonAssist139", addCoins);
            }
            int ratiovipLv = 0;
            float addRatio = 0;
            bool isRatioMax = assistModel.IsMaxAssistCoinsRatioAddByVip(out ratiovipLv, out addRatio);
            privilege_02.SetActive(!isRatioMax);
            privilege_02Max.SetActive(isRatioMax);
            if (!isRatioMax)
            {
                string addRatioStr = StringUtility.Contact(addRatio, "%");
                vipRatioText.text = Language.Get("DungeonAssist126", ratiovipLv, addRatioStr);
            }
            else
            {
                string addRatioStr = StringUtility.Contact(addRatio, "%");
                vipMaxRatioText.text = Language.Get("DungeonAssist140", addRatioStr);
            }
        }
        private void UpdateRegisterBtn()
        {
@@ -187,6 +141,11 @@
            WindowCenter.Instance.Open<AddFriendWin>();
        }
        private void ShowFamilyHelp()
        {
            functionOrder = m_FamilyHelpBtn.order;
        }
        private void ClickFunc(PlayerDetails.DetailType type)
        {
System/Dungeon/DungeonAssistWin.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 89ce153767c4ccb40a9491efb780f620
timeCreated: 1542254377
guid: 2432aa02c231e1b43a621abd7082ab36
timeCreated: 1576144609
licenseType: Pro
MonoImporter:
  serializedVersion: 2
System/Dungeon/DungeonData.cs
@@ -87,6 +87,29 @@
        }
    }
    //协助BOSS伤害列表
    public struct BossHurtRankInfo
    {
        public uint npcObjID;  //实例ID 非表
        public List<BossHurt> bossHurtInfo;
        public List<AssistBossHurt> assistBossHurtInfo;
        public long hurtValueSelf; // 包含团队伤害
    }
    //协助BOSS伤血信息
    public struct BossHurt
    {
        public string HurtName;   // 队伍代表(不一定队长)
        public uint HurtID; //对应 HurtType
        public int HurtType; // 1 玩家,2队伍
        public long totalHurt; //封包两个字段总额
    }
    public struct AssistBossHurt
    {
        public string playerName;
        public uint playerID;
        public long totalHurt; //封包两个字段总额
    }
    public struct DungeonMissionData
    {
        public int lineID;
System/Dungeon/DungeonModel.cs
@@ -46,6 +46,20 @@
        public event Action onCollectNpcInfoRefresh;
        public event Action onAttackNpcInfoRefresh;
        #region 协助相关数据
        public int selectHurtModel;  // 选择显示1.伤害排行 2.协助伤害
        // boss 伤害排行(协助系统结合)
        BossHurtRankInfo m_BossHurtRank;
        public BossHurtRankInfo BossHurtRank
        {
            get { return m_BossHurtRank; }
        }
        public event Action UpdateBossHurtRankEvent;
        #endregion
        List<Item> sweepResultRewards = new List<Item>();
        List<Item> sweepResultItems = new List<Item>();
@@ -75,6 +89,8 @@
        public DungeonMissionData mission {
            get { return m_Mission; }
        }
        DungeonResult m_DungeonResult;
        public DungeonResult dungeonResult {
@@ -893,10 +909,10 @@
                    }
                    break;
                case DemonJarModel.DATA_MAPID:
                    if (!WindowCenter.Instance.IsOpen<DemonJarDamageRankWin>())
                    {
                        WindowCenter.Instance.Open<DemonJarDamageRankWin>();
                    }
                    //if (!WindowCenter.Instance.IsOpen<DemonJarDamageRankWin>())
                    //{
                    //    WindowCenter.Instance.Open<DemonJarDamageRankWin>();
                    //}
                    break;
                case JadeDynastyBossModel.JADEDYNASTY_MAP:
                    if (!WindowCenter.Instance.IsOpen<JadeDynastyDamageRankWin>())
@@ -974,16 +990,66 @@
        }
        // BOSS伤血排行含助战伤害(非副本模块专属暂归类副本管理)
        public void UpdateBossHurtRank(HB415_tagMCBossHurtValueRankInfo pack)
        {
            if (!WindowCenter.Instance.IsOpen<DemonJarDamageRankWin>())
            {
                WindowCenter.Instance.Open<DemonJarDamageRankWin>();
            }
            var hurtList = new List<BossHurt>();
            m_BossHurtRank.npcObjID = pack.ObjID;
            for (int i = 0; i < pack.HurtCount; i++)
            {
                hurtList.Add(new BossHurt() {
                    HurtID = pack.HurtValueList[i].HurtID,
                    HurtType = pack.HurtValueList[i].HurtType,
                    HurtName = pack.HurtValueList[i].HurtName,
                    totalHurt = pack.HurtValueList[i].HurtValue + pack.HurtValueList[i].HurtValueEx * Constants.ExpPointValue,
                });
                if ((pack.HurtValueList[i].HurtType == 2 && pack.HurtValueList[i].HurtID == PlayerDatas.Instance.hero.ActorInfo.teamID)
                    || (pack.HurtValueList[i].HurtType == 1 && pack.HurtValueList[i].HurtID == PlayerDatas.Instance.baseData.PlayerID))
                {
                    m_BossHurtRank.hurtValueSelf = pack.HurtValueList[i].HurtValue + pack.HurtValueList[i].HurtValueEx * Constants.ExpPointValue;
                }
            }
            m_BossHurtRank.bossHurtInfo = hurtList;
            var assistBossHurt = new List<AssistBossHurt>();
            for (int i = 0; i < pack.AssistHurtCount; i++)
            {
                assistBossHurt.Add(new AssistBossHurt()
                {
                    playerID = pack.AssistHurtValueList[i].PlayerID,
                    playerName = pack.AssistHurtValueList[i].PlayerName,
                    totalHurt = pack.AssistHurtValueList[i].HurtValue + pack.AssistHurtValueList[i].HurtValueEx * Constants.ExpPointValue,
                });
                if (pack.AssistHurtValueList[i].PlayerID == PlayerDatas.Instance.baseData.PlayerID)
                {
                    m_BossHurtRank.hurtValueSelf = pack.AssistHurtValueList[i].HurtValue + pack.AssistHurtValueList[i].HurtValueEx * Constants.ExpPointValue;
                }
            }
            m_BossHurtRank.assistBossHurtInfo = assistBossHurt;
            if (UpdateBossHurtRankEvent != null)
            {
                UpdateBossHurtRankEvent();
            }
        }
        public void UpdateFakeDungeonMission(int _dataMapId, DungeonMissionData _missionData)
        {
            m_Mission = _missionData;
            switch (_dataMapId)
            {
                case DemonJarModel.DATA_MAPID:
                    if (!WindowCenter.Instance.IsOpen<DemonJarDamageRankWin>())
                    {
                        WindowCenter.Instance.Open<DemonJarDamageRankWin>();
                    }
                    //if (!WindowCenter.Instance.IsOpen<DemonJarDamageRankWin>())
                    //{
                    //    WindowCenter.Instance.Open<DemonJarDamageRankWin>();
                    //}
                    break;
                case JadeDynastyBossModel.JADEDYNASTY_MAP:
                    if (!WindowCenter.Instance.IsOpen<JadeDynastyDamageRankWin>())
System/FindPrecious/DemonJarDamageRankWin.cs
@@ -8,14 +8,30 @@
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using LitJson;
namespace Snxxz.UI {
namespace Snxxz.UI
{
    // boss伤害排行榜和协助系统结合
    public class DemonJarDamageRankWin : Window
    {
        [SerializeField] DungeonRankBehaviour m_RankBehaviour;
        [SerializeField] BossHurtRankBehaviour m_RankBehaviour;
        [SerializeField] Button HurtRank;
        [SerializeField] Button AssistHurtRank;
        [SerializeField] Button SendAssist;
        [SerializeField] Text SendAssistText;
        [SerializeField] Button ShowAssistTips; // 快速查看当前协助信息 如奖励等
        [SerializeField] Transform AssistInfoBG;
        [SerializeField] TextEx AssistInfo;
        [SerializeField] TextEx FuncInfo;  // 额外小提示
        bool isShowAssistInfo = false;
        DateTime startCoolTime = DateTime.Now; //冷却时间
        int CoolTimeSecond = 0;
        DungeonModel model { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        DungeonAssistModel assistModel { get { return ModelCenter.Instance.GetModel<DungeonAssistModel>(); } }
        FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
        #region Built-in
        protected override void BindController()
        {
@@ -23,13 +39,33 @@
        protected override void AddListeners()
        {
            HurtRank.SetListener(ShowBossRank);
            AssistHurtRank.SetListener(ShowAssistRank);
            SendAssist.SetListener(SendAssistPack);
            ShowAssistTips.SetListener(ShowAssistInfo);
        }
        protected override void OnPreOpen()
        {
            model.selectHurtModel = 1;   // 选择显示1.伤害排行 2.协助伤害
            ShowForm();
            FuncInfo.text = "";
            if (PlayerDatas.Instance.baseData.MapID == DemonJarModel.DATA_MAPID)
            {
                FuncInfo.text = Language.Get("DemonJar17");
            }
            SendAssistText.text = Language.Get("QuestAssist");
            CoolTimeSecond = 0;
        }
        private void ShowForm()
        {
            var dungeonModel = ModelCenter.Instance.GetModel<DungeonModel>();
            var dataMapId = dungeonModel.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID);
            m_RankBehaviour.Init(dataMapId);
            AssistInfoBG.gameObject.SetActive(false);
            isShowAssistInfo = false;
        }
        protected override void OnAfterOpen()
@@ -38,17 +74,98 @@
        protected override void OnPreClose()
        {
        }
        protected override void OnAfterClose()
        {
        }
        protected override void LateUpdate()
        {
            base.LateUpdate();
            if (GAMgr.Instance.GetBySID(model.BossHurtRank.npcObjID) == null)
            {
                if (WindowCenter.Instance.IsOpen<DemonJarDamageRankWin>())
                {
                    WindowCenter.Instance.Close<DemonJarDamageRankWin>();
                }
            }
            if (CoolTimeSecond > 0)
            {
                var seconds = (int)(CoolTimeSecond - (float)(TimeUtility.ServerNow - startCoolTime).TotalSeconds);
                if (seconds <= 0)
                {
                    CoolTimeSecond = 0;
                    SendAssistText.text = Language.Get("QuestAssist");
                }
                else
                {
                    SendAssistText.text = Language.Get("JadeDynastyCD", seconds);
                }
            }
        }
        #endregion
        private void ShowBossRank()
        {
            model.selectHurtModel = 1;
            HurtRank.transform.Find("Text").GetComponent<Text>().color = UIHelper.GetUIColor(TextColType.LightYellow);
            AssistHurtRank.transform.Find("Text").GetComponent<Text>().color = UIHelper.GetUIColor(TextColType.NavyBrown);
            ShowForm();
        }
        private void ShowAssistRank()
        {
            model.selectHurtModel = 2;
            HurtRank.transform.Find("Text").GetComponent<Text>().color = UIHelper.GetUIColor(TextColType.NavyBrown);
            AssistHurtRank.transform.Find("Text").GetComponent<Text>().color = UIHelper.GetUIColor(TextColType.LightYellow);
            ShowForm();
        }
        private void SendAssistPack()
        {
            if (PlayerDatas.Instance.baseData.FamilyId == 0)
            {
                SysNotifyMgr.Instance.ShowTip("DailyQuestwinUnionLimit");
                return;
            }
            if (CoolTimeSecond > 0)
                return;
            assistModel.SendRequestAssistBoss(model.BossHurtRank.npcObjID);
            startCoolTime = DateTime.Now;
            CoolTimeSecond = 9;
        }
        private void ShowAssistInfo()
        {
            if (isShowAssistInfo)
            {
                AssistInfoBG.gameObject.SetActive(false);
                isShowAssistInfo = false;
            }
            else
            {
                AssistInfoBG.gameObject.SetActive(true);
                isShowAssistInfo = true;
                GActor actore = GAMgr.Instance.GetBySID(model.BossHurtRank.npcObjID);
                int funcID = findPreciousModel.GetBossFuncIDByBossID((actore as GActorNpcFight).NpcConfig.NPCID);
                //AssistAward
                int activeCnt = 0;
                if (GeneralDefine.FBAssistAward.ContainsKey(PlayerDatas.Instance.baseData.MapID))
                {
                    activeCnt = GeneralDefine.FBAssistAward[PlayerDatas.Instance.baseData.MapID][1];
                }
                else if (GeneralDefine.BossAssistAward.ContainsKey(funcID))
                {
                    activeCnt = GeneralDefine.BossAssistAward[funcID][1];
                }
                AssistInfo.text = UIHelper.ReplaceNewLine(Language.Get("AssistAwardInfo", activeCnt, 0 + "/2000"));
            }
        }
    }
}
System/FindPrecious/FindPreciousModel.cs
@@ -473,6 +473,56 @@
            }
        }
        public int GetBossFuncIDByBossID(int _bossId)
        {
            //boss功能标志符,特殊处理 配置KillBossCntLimit
            int funcID = GetFuncIDByBossID(_bossId);
            switch (funcID)
            {
                case 21:
                    return 0;
                case 23:
                    return 1;
                case 162:
                    return 2;
            }
            return -1;
        }
        public int GetFuncIDByBossID(int _bossId)
        {
            if (WorldBossConfig.Has(_bossId))
            {
                return 21;
            }
            else if (BossHomeConfig.Has(_bossId))
            {
                return 23;
            }
            else if (ElderGodAreaConfig.Has(_bossId))
            {
                return 92;
            }
            else if (DemonJarConfig.Has(_bossId))
            {
                return 76;
            }
            else if (PersonalBossConfig.Has(_bossId))
            {
                return 22;
            }
            else if (CrossServerBossConfig.Has(_bossId))
            {
                return 162;
            }
            else if (jadeDynastyBossModel.IsJadeDynastyBoss(_bossId))
            {
                return 163;
            }
            return 0;
        }
        public FindPreciousType GetBossFindPreciousType(int _bossId)
        {
            if (WorldBossConfig.Has(_bossId))
System/FindPrecious/New LightmapParameters.giparams
New file
@@ -0,0 +1,25 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1113 &111300000
LightmapParameters:
  m_ObjectHideFlags: 0
  m_PrefabParentObject: {fileID: 0}
  m_PrefabInternal: {fileID: 0}
  m_Name: New LightmapParameters
  serializedVersion: 3
  resolution: 1
  clusterResolution: 0.5
  irradianceBudget: 128
  irradianceQuality: 8192
  backFaceTolerance: 0.9
  isTransparent: 0
  modellingTolerance: 0.01
  systemTag: -1
  edgeStitching: 1
  blurRadius: 2
  directLightQuality: 64
  antiAliasingSamples: 8
  bakedLightmapTag: -1
  pushoff: 0.0001
  AOQuality: 256
  AOAntiAliasingSamples: 16
System/FindPrecious/New LightmapParameters.giparams.meta
New file
@@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: d00550b9cf77ef84389ea48158507120
timeCreated: 1576660617
licenseType: Pro
NativeFormatImporter:
  mainObjectFileID: 111300000
  userData:
  assetBundleName:
  assetBundleVariant:
System/GeneralConfig/GeneralDefine.cs
@@ -210,6 +210,8 @@
    public static int suitEquipStarUpgradeRateCeiling { get; private set; }
    public static int suitEquipStarUpgradeRateFloor { get; private set; }
    public static Dictionary<int, List<int>> BossAssistAward { get; private set; }
    public static Dictionary<int, List<int>> FBAssistAward { get; private set; }
    public static void Init()
    {
        try
@@ -321,6 +323,40 @@
                }
            }
            var BossAssistAwardJson = LitJson.JsonMapper.ToObject(GetInputString("AssistAward", 1));
            BossAssistAward = new Dictionary<int, List<int>>();
            foreach (var key in BossAssistAwardJson.Keys)
            {
                int bossID = int.Parse(key);
                var awards = BossAssistAwardJson[key];
                if (!BossAssistAward.ContainsKey(bossID))
                {
                    BossAssistAward[bossID] = new List<int>();
                }
                foreach (var award in awards)
                {
                    BossAssistAward[bossID].Add(int.Parse(award.ToString()));
                }
            }
            var FBAssistAwardJson = LitJson.JsonMapper.ToObject(GetInputString("AssistAward", 2));
            FBAssistAward = new Dictionary<int, List<int>>();
            foreach (var key in FBAssistAwardJson.Keys)
            {
                int mapID = int.Parse(key);
                var awards = FBAssistAwardJson[key];
                if (!FBAssistAward.ContainsKey(mapID))
                {
                    FBAssistAward[mapID] = new List<int>();
                }
                foreach (var award in awards)
                {
                    FBAssistAward[mapID].Add(int.Parse(award.ToString()));
                }
            }
            var _godWeaponJson = LitJson.JsonMapper.ToObject(GetInputString("GodModel", 1));
            godWeaponMobs = new Dictionary<int, string>();
System/MainInterfacePanel/ChatFrame.cs
@@ -16,7 +16,7 @@
    public class ChatFrame : MonoBehaviour
    {
        [SerializeField] Button _MailBtn;//邮件按钮
        [SerializeField] Button _OneKeyBtn;//地图挂机
        [SerializeField] Button _OneKeyBtn;//协助界面
        [SerializeField] Button _AutoBtn;//自动挂机  
        [SerializeField] Button _SetupBtn;
@@ -76,9 +76,9 @@
        public void OnAfterOpen()
        {
            var mapId = PlayerDatas.Instance.baseData.MapID;
            var inDungeon = true;//MapUtility.IsDungeon(mapId);
            var inDungeon = MapUtility.IsDungeon(mapId);
            m_TaskBtn.gameObject.SetActive(!inDungeon);
            m_TaskBtn.gameObject.SetActive(false);
            _OneKeyBtn.gameObject.SetActive(!inDungeon || OneKeyList.Contains(mapId));
        }
@@ -234,68 +234,73 @@
            WindowCenter.Instance.Close<MainInterfaceWin>();
        }
        void OneKeyButton()//地图挂机按钮
        void OneKeyButton()//打开协助按钮
        {
            if (CrossServerUtility.IsCrossServerBoss())
            {
                SysNotifyMgr.Instance.ShowTip("CrossMap10");
                return;
            }
            if (OneKeyList.Contains(PlayerDatas.Instance.baseData.MapID))
            {
                var dataMapId = MapUtility.GetDataMapId();
                var config = DungeonOpenTimeConfig.Get(dataMapId);
                string language = string.Empty;
                if (dataMapId == GeneralDefine.ruinsTranscriptMapId)
                {
                    language = Language.Get(dungeonModel.mission.lineID > main.LayerNumberNow ? "WHMJ_Quit2" : "WHMJ_Quit1");
                }
                else if (dataMapId == BossHomeModel.BOSSHOME_MAPID)
                {
                    var vipLevel = PlayerDatas.Instance.baseData.VIPLv;
                    var vipNeed = bossHomeModel.GetFloorVipRequirement(PlayerDatas.Instance.baseData.dungeonLineId + 1);
                    var dungeonId = dungeonModel.GetDungeonId(dataMapId, PlayerDatas.Instance.baseData.dungeonLineId);
                    var dungeonConfig = DungeonConfig.Get(dungeonId);
                    if (vipLevel < vipNeed)
                    {
                        var moneyNeed = bossHomeModel.GetVipLackCost(PlayerDatas.Instance.baseData.dungeonLineId + 1);
                        language = Language.Get("QuitRemindBossHome", dungeonConfig.FBName, vipNeed, moneyNeed);
                    }
                    else
                    {
                        //language = Language.Get(config.ExitDescription);
                    }
                }
                else
                {
                    language = Language.Get(config.ExitDescription);
                }
                if (language == string.Empty)
                {
                    GoToOneKeyButton();
                }
                else {
                    ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"),
                       language, (bool isOk) =>
                       {
                           if (isOk)
                           {
                               GoToOneKeyButton();
                           }
                       }
                    );
                }
            }
            else
            {
                GoToOneKeyButton();
            }
            WindowCenter.Instance.Open<DungeonAssistWin>();
        }
        //一键挂机
        //{
        //    if (CrossServerUtility.IsCrossServerBoss())
        //    {
        //        SysNotifyMgr.Instance.ShowTip("CrossMap10");
        //        return;
        //    }
        //    if (OneKeyList.Contains(PlayerDatas.Instance.baseData.MapID))
        //    {
        //        var dataMapId = MapUtility.GetDataMapId();
        //        var config = DungeonOpenTimeConfig.Get(dataMapId);
        //        string language = string.Empty;
        //        if (dataMapId == GeneralDefine.ruinsTranscriptMapId)
        //        {
        //            language = Language.Get(dungeonModel.mission.lineID > main.LayerNumberNow ? "WHMJ_Quit2" : "WHMJ_Quit1");
        //        }
        //        else if (dataMapId == BossHomeModel.BOSSHOME_MAPID)
        //        {
        //            var vipLevel = PlayerDatas.Instance.baseData.VIPLv;
        //            var vipNeed = bossHomeModel.GetFloorVipRequirement(PlayerDatas.Instance.baseData.dungeonLineId + 1);
        //            var dungeonId = dungeonModel.GetDungeonId(dataMapId, PlayerDatas.Instance.baseData.dungeonLineId);
        //            var dungeonConfig = DungeonConfig.Get(dungeonId);
        //            if (vipLevel < vipNeed)
        //            {
        //                var moneyNeed = bossHomeModel.GetVipLackCost(PlayerDatas.Instance.baseData.dungeonLineId + 1);
        //                language = Language.Get("QuitRemindBossHome", dungeonConfig.FBName, vipNeed, moneyNeed);
        //            }
        //            else
        //            {
        //                //language = Language.Get(config.ExitDescription);
        //            }
        //        }
        //        else
        //        {
        //            language = Language.Get(config.ExitDescription);
        //        }
        //        if (language == string.Empty)
        //        {
        //            GoToOneKeyButton();
        //        }
        //        else {
        //            ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"),
        //               language, (bool isOk) =>
        //               {
        //                   if (isOk)
        //                   {
        //                       GoToOneKeyButton();
        //                   }
        //               }
        //            );
        //        }
        //    }
        //    else
        //    {
        //        GoToOneKeyButton();
        //    }
        //}
        void GoToOneKeyButton()
        {
            if (PlayerDatas.Instance.extersion.bossState == 1)
System/MainInterfacePanel/MainButtonMisc.cs
@@ -28,7 +28,7 @@
        RedPacketModel redPacket { get { return ModelCenter.Instance.GetModel<RedPacketModel>(); } }
        WishingPoolModel wishModel { get { return ModelCenter.Instance.GetModel<WishingPoolModel>(); } }
        MysticalPurchaseModel purchaseModel { get { return ModelCenter.Instance.GetModel<MysticalPurchaseModel>(); } }
        DungeonAssistModel assistModel { get { return ModelCenter.Instance.GetModel<DungeonAssistModel>(); } }
        //DungeonAssistModel assistModel { get { return ModelCenter.Instance.GetModel<DungeonAssistModel>(); } }
        FriendsModel friendsModel { get { return ModelCenter.Instance.GetModel<FriendsModel>(); } }
        FairyModel fairyModel { get { return ModelCenter.Instance.GetModel<FairyModel>(); } }
        ReikiRootModel reikiRootModel { get { return ModelCenter.Instance.GetModel<ReikiRootModel>(); } }
@@ -63,7 +63,7 @@
            ClientCollectUtility.OnHideCollectIcon += OnLeaveCollectNpc;
            wishModel.UpdateWishAwardEvent += UpdateWishAwardImag;
            purchaseModel.UpdateNewMysticalEvent += UpdateMysticalPurchaseImag;
            assistModel.UpdateRedpointEvent += UpdateDungeonAssistImag;
            //assistModel.UpdateRedpointEvent += UpdateDungeonAssistImag;
            ChatTip.OnChatUpEvent += RefreshAdaptiveChat;
            fairyModel.UpdateFairyRequestEvent += UpdateFairyRequest;
        }
@@ -87,7 +87,7 @@
            ClientCollectUtility.OnHideCollectIcon -= OnLeaveCollectNpc;
            wishModel.UpdateWishAwardEvent -= UpdateWishAwardImag;
            purchaseModel.UpdateNewMysticalEvent -= UpdateMysticalPurchaseImag;
            assistModel.UpdateRedpointEvent -= UpdateDungeonAssistImag;
            //assistModel.UpdateRedpointEvent -= UpdateDungeonAssistImag;
            ChatTip.OnChatUpEvent -= RefreshAdaptiveChat;
            fairyModel.UpdateFairyRequestEvent -= UpdateFairyRequest;
            m_CollectBehaviour.gameObject.SetActive(false);
@@ -247,7 +247,7 @@
        private void UpdateDungeonAssistImag()
        {
            m_DungeonAssistImg.gameObject.SetActive(assistModel.IsNewAssistInfo);
            m_DungeonAssistImg.gameObject.SetActive(false);//(assistModel.IsNewAssistInfo);
        }
        private void RefreshAdaptiveChat()
System/MainInterfacePanel/MainInterfaceWin.cs
@@ -508,9 +508,12 @@
        private void IsShowTaskPanel()//是否显示任务面板
        {
            var hideTask = AdventureStage.Instance.IsInAdventureStage
                || (MapUtility.IsDungeon(PlayerDatas.Instance.baseData.MapID) && PlayerDatas.Instance.baseData.MapID != 31020)
                || (MapUtility.IsDungeon(PlayerDatas.Instance.baseData.MapID))
                || CrossServerUtility.IsCrossServer()
                || ClientCrossServerOneVsOne.isClientCrossServerOneVsOne;
                || ClientCrossServerOneVsOne.isClientCrossServerOneVsOne
                || GeneralDefine.neutralBossMaps.Contains(PlayerDatas.Instance.baseData.MapID);
            if (hideTask)
            {
Utility/UIHelper.cs
@@ -658,6 +658,16 @@
        return GetRealmColorByLv(realmLv, config.Name, bright);
    }
    public static string GetRealmNameEx(int realmLv, string strFormat, bool bright = false)
    {
        var config = RealmConfig.Get(realmLv);
        if (config == null)
        {
            return string.Empty;
        }
        return GetRealmColorByLv(realmLv, string.Format(strFormat, config.Name), bright);
    }
    public static string GetRealmColorByLv(int realmLv, string msg, bool bright = false)
    {
        var config = RealmConfig.Get(realmLv);