少年修仙传客户端代码仓库
client_Wu Xijin
2019-01-07 cbb4009abdf84cf020be9cfc1de88dc436652bb3
Merge branch 'master' into CrossServerBoss

# Conflicts:
# Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0614_tagUseSkillPos.cs
42个文件已修改
2个文件已添加
791 ■■■■ 已修改文件
Core/GameEngine/Model/Player/Character/PlayerBaseData.cs 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Player/Character/PlayerExtersionData.cs 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Player/PlayerDatas.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ClientPack/ClientToMapServer/CA8_VIP/CA806_tagCMQueryRecharge.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ClientPack/ClientToMapServer/CA8_VIP/CA806_tagCMQueryRecharge.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0102_tagCDBPlayer.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0109_tagServerPrepareOK.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0406_tagNPCAppear.cs 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0408_tagPlayerSummonNPCAppear.cs 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0418_tagObjInfoRefresh.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0419_tagPlayerReborn.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0423_tagObjPropertyRefreshView.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0434_tagAreaPlayerAppearEx.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0435_tagPetAppear.cs 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0609_tagPlayerDie.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0614_tagUseSkillPos.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HA1_Sys/DTCA126_tagMCPrepareChangeMap.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HA1_Sys/DTCA127_tagMCStartChangeMap.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HA7_Arena/DTCA709_tagObjInfoListRefresh.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA713_tagMCDynamicBarrierState.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HB4_Fight/DTCB401_tagMCSkillHurtList.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/SDK/SDKUtility.cs 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Actor/AI/HeroAI_Auto.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Actor/AI/HeroAI_Base.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Actor/State/SMB/STM_BaseAttack.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GA_NpcFightNorm.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/PrepareHandler.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Stage/StageManager.cs 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/DelegatesGensBridge.cs 88 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUICrossServerOneVsOneModelWrap.cs 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUIGatheringSoulModelWrap.cs 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Compose/New/ComposeWingsWin.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/CrossServerOneVsOne/FightingPKWin.cs 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyFeastModel.cs 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyLeagueRemindBehaviour.cs 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/GatheringSoul/GatherSoulEquipListWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/GatheringSoul/GatherSoulHoleBehaviour.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/GatheringSoul/GatherSoulItemBehaviour.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/GatheringSoul/GatherSoulResolveWin.cs 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/GatheringSoul/GatherSoulTipWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/GatheringSoul/GatheringSoulModel.cs 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/MainInterfaceWin.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/RuntimeLogUtility.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/StageLoadTimeOutCatcher.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Player/Character/PlayerBaseData.cs
@@ -64,8 +64,10 @@
    public int BasicsDefense;//基础防御
    public int BasicsScoreAHit;//基础命中
    public int BasicsDodge;//基础闪避
    public long treasurePotentialSp {
        get {
    public long treasurePotentialSp
    {
        get
        {
            return ExAttr8 * (long)100000000 + ExAttr7;
        }
    }
@@ -91,10 +93,6 @@
        ExpPoint = _serverInfo.ExpPoint;
        TotalExp = _serverInfo.TotalExp;
        Family = _serverInfo.Family;
        if (PlayerDatas.Instance. hero != null)
        {
            PlayerDatas.Instance.hero.ActorInfo.familyID = Family;
        }
        FamilyName = _serverInfo.FamilyName.Trim().Replace(" ", "");
        Gold = _serverInfo.Gold;
        GoldPaper = _serverInfo.GoldPaper;
@@ -104,7 +102,6 @@
        PosX = _serverInfo.PosX;
        PosY = _serverInfo.PosY;
        State = _serverInfo.State;
        HP = _serverInfo.HP;
        XP = _serverInfo.XP;
        FreePoint = _serverInfo.FreePoint;
        FreeSkillPoint = _serverInfo.FreeSkillPoint;
@@ -139,6 +136,34 @@
        godWeaponLV_3 = (int)_serverInfo.ExAttr17;
        godWeaponLV_4 = (int)_serverInfo.ExAttr18;
        if (CrossServerRewardModel.IsCrossServerOneVsOne())
        {
            if (_serverInfo.socketType == GameNetSystem.SocketType.CrossSever)
            {
                HP = _serverInfo.HP;
            }
        }
        else
        {
            HP = _serverInfo.HP;
        }
        if (PlayerDatas.Instance.hero != null)
        {
            PlayerDatas.Instance.hero.ActorInfo.familyID = Family;
            if (CrossServerRewardModel.IsCrossServerOneVsOne())
            {
                if (_serverInfo.socketType == GameNetSystem.SocketType.CrossSever)
                {
                    PlayerDatas.Instance.hero.ActorInfo.ResetHp((int)_serverInfo.HP);
                }
            }
            else
            {
                PlayerDatas.Instance.hero.ActorInfo.ResetHp((int)_serverInfo.HP);
            }
        }
        if (_serverInfo.socketType == GameNetSystem.SocketType.Main)
        {
            mainServerDataBuf.PlayerName = PlayerName;
Core/GameEngine/Model/Player/Character/PlayerExtersionData.cs
@@ -4,8 +4,18 @@
public class PlayerExtersionData
{
    public int MaxHP;              // 最大HP    28,
    private int aaa;
    public int MaxHP
    {
        get { return aaa; }
        set
        {
            aaa = value;
#if UNITY_EDITOR
            Debug.Log("Maxhp: " + aaa);
#endif
        }
    }              // 最大HP    28,
    public int MaxMP;              // 最大MP    30,
    public int ExpRate;            // 当前经验倍率    单位为百分比  35,
    public int DEF;                // 外防     42
Core/GameEngine/Model/Player/PlayerDatas.cs
@@ -295,11 +295,6 @@
                break;
            case PlayerDataRefresh.HP:
                baseData.HP = value;
                if (hero != null)
                {
                    hero.ActorInfo.SyncServerHp = value;
                    hero.ActorInfo.ResetHp((int)value);
                }
                baseData.RecordMainServerData(isMainServerData, _type, value);
                break;
            case PlayerDataRefresh.MaxMP:
Core/NetworkPackage/ClientPack/ClientToMapServer/CA8_VIP/CA806_tagCMQueryRecharge.cs
New file
@@ -0,0 +1,15 @@
using UnityEngine;
using System.Collections;
// A8 06 查询充值结果 #tagCMQueryRecharge
public class CA806_tagCMQueryRecharge : GameNetPackBasic {
    public CA806_tagCMQueryRecharge () {
        combineCmd = (ushort)0x03FE;
        _cmd = (ushort)0xA806;
    }
    public override void WriteToBytes () {
    }
}
Core/NetworkPackage/ClientPack/ClientToMapServer/CA8_VIP/CA806_tagCMQueryRecharge.cs.meta
New file
@@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: 4df34e8c1837d9446b8c6bd9cf117179
timeCreated: 1546668972
licenseType: Pro
MonoImporter:
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0102_tagCDBPlayer.cs
@@ -20,6 +20,8 @@
        base.Done(vNetPack);
        H0102_tagCDBPlayer vNetData = vNetPack as H0102_tagCDBPlayer;
        StageLoadTimeOutCatcher.got0102Time = DateTime.Now;
        StageLoadTimeOutCatcher.ReportChangeMapRecord(vNetPack.socketType, "0102", DateTime.Now);
        DEBUG_0102 = true;
        DTC0403_tagPlayerLoginLoadOK.finishedLogin = false;
Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0109_tagServerPrepareOK.cs
@@ -25,6 +25,7 @@
        }
        StageLoadTimeOutCatcher.got0109Time = DateTime.Now;
        StageLoadTimeOutCatcher.ReportChangeMapRecord(vNetData.socketType, "0109", DateTime.Now);
        //修改技能快捷设置发包顺序
        PlayerDatas.Instance.skill.CheckQuickSet();
@@ -41,6 +42,9 @@
                    mapOk.Type = 0;
                    GameNetSystem.Instance.SendInfo(mapOk);
                    DTCA127_tagMCStartChangeMap.isChangeLine = false;
                    StageLoadTimeOutCatcher.send0107Time = DateTime.Now;
                    StageLoadTimeOutCatcher.ReportChangeMapRecord(GameNetSystem.SocketType.Main, "0107", DateTime.Now);
                }
                break;
            case GameNetSystem.SocketType.CrossSever:
@@ -50,12 +54,17 @@
                    mapOk.MapID = PlayerDatas.Instance.baseData.MapID;
                    mapOk.Type = 0;
                    GameNetSystem.Instance.SendToCrossServer(mapOk);
                    StageLoadTimeOutCatcher.send0107Time = DateTime.Now;
                    StageLoadTimeOutCatcher.ReportChangeMapRecord(GameNetSystem.SocketType.CrossSever, "0107", DateTime.Now);
                }
                break;
            default:
                break;
        }
        switch (vNetPack.socketType)
        {
            case GameNetSystem.SocketType.Main:
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0406_tagNPCAppear.cs
@@ -154,7 +154,10 @@
            if (StageManager.Instance.isLoading)
            {
                GAMgr.Instance.reAdjustPosList.Add(_actor);
                if (!GAMgr.Instance.reAdjustPosList.Contains(_actor))
                {
                    GAMgr.Instance.reAdjustPosList.Add(_actor);
                }
            }
        }
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0408_tagPlayerSummonNPCAppear.cs
@@ -57,7 +57,10 @@
        {
            if (_actor != null)
            {
                GAMgr.Instance.reAdjustPosList.Add(_actor);
                if (!GAMgr.Instance.reAdjustPosList.Contains(_actor))
                {
                    GAMgr.Instance.reAdjustPosList.Add(_actor);
                }
            }
        }
    }
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0418_tagObjInfoRefresh.cs
@@ -35,6 +35,30 @@
        OpponentInformation.Instance.GetOpponentInformation0418(vNetData);//用于获取玩家护盾属性
        if (PlayerDatas.Instance.PlayerId == vNetData.ObjID)
        {
            if ((PlayerDataRefresh)vNetData.RefreshType == PlayerDataRefresh.HP)
            {
                bool _sync = false;
                if (CrossServerRewardModel.IsCrossServerOneVsOne())
                {
                    if (vNetData.socketType == GameNetSystem.SocketType.CrossSever)
                    {
                        _sync = true;
                    }
                }
                else
                {
                    _sync = true;
                }
                if (_sync)
                {
                    if (PlayerDatas.Instance.hero != null)
                    {
                        PlayerDatas.Instance.hero.ActorInfo.SyncServerHp = vNetData.Value;
                        PlayerDatas.Instance.hero.ActorInfo.ResetHp((int)vNetData.Value);
                    }
                }
            }
            PlayerDatas.Instance.RefreshPlayerData(vNetData);
        }
        else
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0419_tagPlayerReborn.cs
@@ -38,7 +38,7 @@
            _player.SelectTarget = null;
            _player.InitBornPos(vNetData.PosX, vNetData.PosY);
            _player.ActorInfo.serverDie = false;
            _player.ActorInfo.ResetHp((int)_player.ActorInfo.MaxHp, (short)_player.ActorInfo.MaxHpEx);
            _player.ActorInfo.ResetHp(PlayerDatas.Instance.extersion.MaxHP, (short)_player.ActorInfo.MaxHpEx);
            _player.SelectTarget = null;
            _player.StopPathFind();
            _player.IdleImmediate();
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0423_tagObjPropertyRefreshView.cs
@@ -46,6 +46,11 @@
        if (vNetData.ObjID == PlayerDatas.Instance.PlayerId)
        {
            if (PlayerDatas.Instance.hero != null)
            {
                PlayerDatas.Instance.hero.ActorInfo.SyncServerHp = vNetData.HP;
                PlayerDatas.Instance.hero.ActorInfo.ResetHp((int)vNetData.HP);
            }
            PlayerDatas.Instance.FightRefreshPlayerHp(vNetData.HP);
        }
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0434_tagAreaPlayerAppearEx.cs
@@ -44,6 +44,14 @@
        _player = GAMgr.Instance.RequestPlayer<GA_Player>(vNetData.PlayerID, E_ActorGroup.Player, vNetData);
        if (StageManager.Instance.isLoading)
        {
            if (!GAMgr.Instance.reAdjustPosList.Contains(_player))
            {
                GAMgr.Instance.reAdjustPosList.Add(_player);
            }
        }
        if (vNetData.IsAlive == 1)
        {
            if (vNetData.PlayerState == 1)
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0435_tagPetAppear.cs
@@ -46,7 +46,10 @@
        if (StageManager.Instance.isLoading)
        {
            GAMgr.Instance.reAdjustPosList.Add(_pet);
            if (!GAMgr.Instance.reAdjustPosList.Contains(_pet))
            {
                GAMgr.Instance.reAdjustPosList.Add(_pet);
            }
        }
    }
Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0609_tagPlayerDie.cs
@@ -56,6 +56,12 @@
                    PlayerDatas.Instance.hero.Behaviour.StopHandupAI();
                    PlayerDatas.Instance.hero.Behaviour.StopKillUntilDieAI();
                }
                if (_hero != null)
                {
                    _hero.ActorInfo.SyncServerHp = 0;
                    _hero.ActorInfo.ResetHp(0);
                }
                PlayerDatas.Instance.FightRefreshPlayerHp(0);
            }
Core/NetworkPackage/DTCFile/ServerPack/H06_PlayerVsNPC/DTC0614_tagUseSkillPos.cs
@@ -306,6 +306,11 @@
                            {
                                if (_sTarget.ObjID == PlayerDatas.Instance.PlayerId)
                                {
                                    if (PlayerDatas.Instance.hero != null)
                                    {
                                        PlayerDatas.Instance.hero.ActorInfo.SyncServerHp = _sTarget.CurHP;
                                        PlayerDatas.Instance.hero.ActorInfo.ResetHp((int)_sTarget.CurHP);
                                    }
                                    PlayerDatas.Instance.FightRefreshPlayerHp(_sTarget.CurHP);
                                }
                                else
@@ -684,6 +689,11 @@
                    {
                        if (_sTarget.ObjID == PlayerDatas.Instance.PlayerId)
                        {
                            if (PlayerDatas.Instance.hero != null)
                            {
                                PlayerDatas.Instance.hero.ActorInfo.SyncServerHp = _sTarget.CurHP;
                                PlayerDatas.Instance.hero.ActorInfo.ResetHp((int)_sTarget.CurHP);
                            }
                            PlayerDatas.Instance.FightRefreshPlayerHp(_sTarget.CurHP);
                        }
                        else
Core/NetworkPackage/DTCFile/ServerPack/HA1_Sys/DTCA126_tagMCPrepareChangeMap.cs
@@ -6,6 +6,7 @@
using Snxxz.UI;
using TableConfig;
using UnityEngine;
using System;
public class DTCA126_tagMCPrepareChangeMap : DtcBasic
{
@@ -20,6 +21,9 @@
            return;
        }
        StageLoadTimeOutCatcher.gotA126Time = DateTime.Now;
        StageLoadTimeOutCatcher.ReportChangeMapRecord(package.socketType, "A126", DateTime.Now);
#if UNITY_EDITOR
        string _content = string.Format("DTCA126_tagMCPrepareChangeMap => 准备切换地图");
        Debug.Log(_content);
Core/NetworkPackage/DTCFile/ServerPack/HA1_Sys/DTCA127_tagMCStartChangeMap.cs
@@ -7,6 +7,7 @@
using TableConfig;
using UnityEngine;
using System.Collections.Generic;
using System;
public class DTCA127_tagMCStartChangeMap : DtcBasic
{
@@ -48,6 +49,8 @@
        DEBUG_A127 = true;
        var package = vNetPack as HA127_tagMCStartChangeMap;
        StageLoadTimeOutCatcher.gotA127Time = DateTime.Now;
        StageLoadTimeOutCatcher.ReportChangeMapRecord(package.socketType, "A127", DateTime.Now);
        DEBUG_STEP = 0;
Core/NetworkPackage/DTCFile/ServerPack/HA7_Arena/DTCA709_tagObjInfoListRefresh.cs
@@ -27,7 +27,17 @@
        if (objId == PlayerDatas.Instance.PlayerId)
        {
            PlayerDatas.Instance.RefreshPlayerData(vNetDatas);
            if (CrossServerRewardModel.IsCrossServerOneVsOne())
            {
                if (vNetDatas.socketType == GameNetSystem.SocketType.CrossSever)
                {
                    PlayerDatas.Instance.RefreshPlayerData(vNetDatas);
                }
            }
            else
            {
                PlayerDatas.Instance.RefreshPlayerData(vNetDatas);
            }
        }
        else
        {
Core/NetworkPackage/DTCFile/ServerPack/HA7_Interaction/DTCA713_tagMCDynamicBarrierState.cs
@@ -98,17 +98,24 @@
                        _scale = _obstacle.transform.localScale.z * 0.25f;
                    }
                    int _effectID = 1040;
                    if(CrossServerRewardModel.IsCrossServerOneVsOne())
                    {
                        _effectID = 5206;
                    }
                    if (package.BarrierList[i].Angle == 0)
                    {
                        // 创建特效
                        SFXController _sfx = SFXPlayUtility.Instance.PlayWithEulerAngle(1040, _pos, _isHorizontal ? new Vector3(0, 0, 0) : new Vector3(0, 90, 0));
                        SFXController _sfx = SFXPlayUtility.Instance.PlayWithEulerAngle(_effectID, _pos, _isHorizontal ? new Vector3(0, 0, 0) : new Vector3(0, 90, 0));
                        _sfx.duration = 0;
                        _sfx.transform.localScale = new Vector3(_scale, 1, 1);
                        sfxDict.Add(id, _sfx);
                    }
                    else
                    {   
                        SFXController _sfx = SFXPlayUtility.Instance.PlayWithEulerAngle(1040, _pos, new Vector3(0, package.BarrierList[i].Angle, 0));
                        SFXController _sfx = SFXPlayUtility.Instance.PlayWithEulerAngle(_effectID, _pos, new Vector3(0, package.BarrierList[i].Angle, 0));
                        _sfx.duration = 0;
                        _sfx.transform.localScale = new Vector3(_scale, 1, 1);
                        sfxDict.Add(id, _sfx);
Core/NetworkPackage/DTCFile/ServerPack/HB4_Fight/DTCB401_tagMCSkillHurtList.cs
@@ -229,6 +229,11 @@
                        if (_sTarget.ObjID == PlayerDatas.Instance.PlayerId)
                        {
                            PlayerDatas.Instance.FightRefreshPlayerHp(_sTarget.CurHP);
                            if (PlayerDatas.Instance.hero != null)
                            {
                                PlayerDatas.Instance.hero.ActorInfo.SyncServerHp = _sTarget.CurHP;
                                PlayerDatas.Instance.hero.ActorInfo.ResetHp((int)_sTarget.CurHP);
                            }
                        }
                        else
                        {
Core/SDK/SDKUtility.cs
@@ -29,11 +29,13 @@
    public E_ChannelPlatform ChannelPlatform { get; set; }
    public static string Yj_AppID {
    public static string Yj_AppID
    {
        get; private set;
    }
    public static string Yj_SpID {
    public static string Yj_SpID
    {
        get; private set;
    }
@@ -496,6 +498,7 @@
                {
                    onFreePlatformPayOk();
                }
                SnxxzGame.Instance.StartCoroutine(DelayQueryRecharge());
                break;
            case CodeA2U.FreePlatformPayFail:
                if (onFreePlatformPayFail != null)
@@ -756,6 +759,13 @@
    private Dictionary<string, string> m_PaymentTable = new Dictionary<string, string>();
    private string m_EncodeKey = "03sujm7gerywdvyd5vkkk772rs4by230";
    private IEnumerator DelayQueryRecharge()
    {
        yield return WaitingForSecondConst.WaitMS60000;
        var _package = new CA806_tagCMQueryRecharge();
        GameNetSystem.Instance.SendInfo(_package);
    }
    /// <summary>
    /// 自由SDK支付 fixed sdk 支付逻辑修改
    /// </summary>
Fight/Actor/AI/HeroAI_Auto.cs
@@ -119,6 +119,7 @@
        if (!DTC0403_tagPlayerLoginLoadOK.finishedLogin)
        {
            Debug.LogWarning("登陆流程尚未完成");
            stopReason = 1;
            return;
        }
@@ -126,6 +127,7 @@
        if (_hero.IsPolyMorph)
        {
            stopReason = 2;
            return;
        }
@@ -141,6 +143,7 @@
        if (_hero == null || _hero.ActorInfo.serverDie)
        {
            stopReason = 3;
            return;
        }
@@ -149,12 +152,14 @@
        {
            if (_hero.heavenBattleModel.IsBattlePrepare)
            {
                stopReason = 4;
                return;
            }
        }
        if (_hero.IsCollect() && m_UserClickSkillID <= 0)
        {
            stopReason = 5;
            return;
        }
@@ -172,6 +177,7 @@
                        _hero.SkillMgr.DoingPrepareSkill = false;
                    }
                }
                stopReason = 6;
                return;
            }
        }
@@ -179,6 +185,7 @@
        // 释放处于释放需要预备的技能状态下
        if (_hero.SkillMgr.DoingPrepareSkill)
        {
            stopReason = 7;
            return;
        }
@@ -191,6 +198,7 @@
                // 挂机状态下等待拾取装备
                if (WaitForPickup())
                {
                    stopReason = 8;
                    return;
                }
@@ -202,6 +210,7 @@
                        // 子类有自己需要在技能释放前处理的逻辑
                        if (OnUpdate())
                        {
                            stopReason = 9;
                            return;
                        }
                    }
@@ -211,6 +220,7 @@
                    // 子类有自己需要在技能释放前处理的逻辑
                    if (OnUpdate())
                    {
                        stopReason = 10;
                        return;
                    }
                }
@@ -225,6 +235,7 @@
                        if (MathUtility.DistanceSqrtXZ(_hero.Pos, m_TargetPos) > 0.25f)
                        {
                            _hero.MoveToPosition(m_TargetPos);
                            stopReason = 11;
                            return;
                        }
                    }
@@ -242,6 +253,7 @@
        // 是否处于攻击间隔
        if (Time.realtimeSinceStartup - m_LastUseSkillTime < (1f / _hero.ActorInfo.atkSpeed))
        {
            stopReason = 12;
            return;
        }
@@ -263,6 +275,7 @@
        if (_skill == null)
        {
            stopReason = 13;
            return;
        }
@@ -303,12 +316,14 @@
            _hero.Behaviour.DoAttack(_skill);
            m_DecideSkill = null;
            m_UserClickSkillID = -1;
            stopReason = 14;
            return;
        }
        if (_atkTarget == null || !_atkTarget.CanAtked())
        {
            _hero.StopRush();
            stopReason = 15;
            return;
        }
@@ -326,6 +341,7 @@
            if ((StatusMgr.IsValid()
            && !StatusMgr.Instance.CanMove(_hero.ServerInstID)))
            {
                stopReason = 16;
                return;
            }
@@ -338,6 +354,7 @@
                _hero.StartRush();
            }
            stopReason = 17;
            return;
        }
@@ -376,6 +393,7 @@
            }
        }
        stopReason = 255;
        m_LastUseSkillTime = Time.realtimeSinceStartup;
    }
Fight/Actor/AI/HeroAI_Base.cs
@@ -8,6 +8,8 @@
public abstract class HeroAI_Base
{
    public static byte stopReason = 0;
    private SkillModel m_SkillModel;
    private SkillModel skillModel
    {
Fight/Actor/State/SMB/STM_BaseAttack.cs
@@ -231,7 +231,7 @@
        if (_fight == null)
        {
#if UNITY_EDITOR
            Debug.LogErrorFormat("owner: {0} 类型问题: {1}" ,owner.ServerInstID, owner.GetType());
            Debug.LogErrorFormat("owner: {0} 类型问题: {1}", owner.ServerInstID, owner.GetType());
#endif
            return;
        }
@@ -367,8 +367,11 @@
                {
                    _target.Die(owner.ServerInstID);
                }
                else
                {
                    _target.ActorInfo.ResetHp((int)_target.ActorInfo.SyncServerHp, (short)_target.ActorInfo.SyncServerHpEx);
                }
                _target.ActorInfo.ResetHp((int)_target.ActorInfo.SyncServerHp, (short)_target.ActorInfo.SyncServerHpEx);
                // 主角血量扣除的补充
                if (_target.ServerInstID == PlayerDatas.Instance.PlayerId)
                {
Fight/GameActor/GA_NpcFightNorm.cs
@@ -56,8 +56,9 @@
        }
        else
        {
            bool _force = NpcConfig.NPCID != 33409001 && NpcConfig.NPCID != 33409002;
            // 初始化坐标
            AdjustPos(_h0406.PosX, _h0406.PosY, NpcConfig.IsBoss > 1);
            AdjustPos(_h0406.PosX, _h0406.PosY, _force);
        }
        GAStaticDefine.NPCLocation _npcLocation;
Fight/PrepareHandler.cs
@@ -118,6 +118,14 @@
                        _player.Collect();
                    }
                }
                if (H0812.PlayerID == PlayerDatas.Instance.PlayerId)
                {
                    if (PlayerDatas.Instance.hero != null)
                    {
                        PlayerDatas.Instance.hero.Behaviour.StopHandupAI(true);
                    }
                }
                break;
            case E_PrepareType.pstCatchPet:
Fight/Stage/StageManager.cs
@@ -348,6 +348,9 @@
        {
            if (!isClientChangeMap)
            {
                StageLoadTimeOutCatcher.send0107Time = DateTime.Now;
                StageLoadTimeOutCatcher.ReportChangeMapRecord(this.socketType, "0107", DateTime.Now);
                var mapOk = new C0107_tagCInitMapOK();
                mapOk.MapID = PlayerDatas.Instance.baseData.MapID;
                mapOk.Type = 0;
@@ -497,7 +500,7 @@
        }
        _hero.State = E_ActorState.Idle;
        _hero.ActorInfo.ResetHp((int)PlayerDatas.Instance.baseData.HP, -1, (int)PlayerDatas.Instance.baseData.HP);
        _hero.ActorInfo.ResetHp((int)PlayerDatas.Instance.baseData.HP, -1, (int)PlayerDatas.Instance.extersion.MaxHP);
        _hero.CalculateMoveSpeed((ushort)PlayerDatas.Instance.extersion.SpeedValue);
        _hero.CalculateAtkSpeed(PlayerDatas.Instance.extersion.battleValEx1);
        _hero.InitBornPos(PlayerDatas.Instance.baseData.PosX, PlayerDatas.Instance.baseData.PosY);
Lua/Gen/DelegatesGensBridge.cs
@@ -2704,7 +2704,31 @@
#endif
        }
        
        public void __Gen_Delegate_Imp118(object p0, ItemWinBtnType p1, object p2)
        public void __Gen_Delegate_Imp118(object p0, object p1, bool p2)
        {
#if THREAD_SAFE || HOTFIX_ENABLE
            lock (luaEnv.luaEnvLock)
            {
#endif
                RealStatePtr L = luaEnv.rawL;
                int errFunc = LuaAPI.pcall_prepare(L, errorFuncRef, luaReference);
                ObjectTranslator translator = luaEnv.translator;
                translator.PushAny(L, p0);
                translator.PushAny(L, p1);
                LuaAPI.lua_pushboolean(L, p2);
                PCall(L, 3, 0, errFunc);
                LuaAPI.lua_settop(L, errFunc - 1);
#if THREAD_SAFE || HOTFIX_ENABLE
            }
#endif
        }
        public void __Gen_Delegate_Imp119(object p0, ItemWinBtnType p1, object p2)
        {
#if THREAD_SAFE || HOTFIX_ENABLE
            lock (luaEnv.luaEnvLock)
@@ -2728,7 +2752,7 @@
#endif
        }
        
        public void __Gen_Delegate_Imp119(object p0, int p1, int p2)
        public void __Gen_Delegate_Imp120(object p0, int p1, int p2)
        {
#if THREAD_SAFE || HOTFIX_ENABLE
            lock (luaEnv.luaEnvLock)
@@ -2752,7 +2776,7 @@
#endif
        }
        
        public void __Gen_Delegate_Imp120(object p0, PackType p1, int p2)
        public void __Gen_Delegate_Imp121(object p0, PackType p1, int p2)
        {
#if THREAD_SAFE || HOTFIX_ENABLE
            lock (luaEnv.luaEnvLock)
@@ -2776,7 +2800,7 @@
#endif
        }
        
        public System.Collections.IEnumerator __Gen_Delegate_Imp121(object p0, UnityEngine.Vector3 p1, UnityEngine.Vector3 p2)
        public System.Collections.IEnumerator __Gen_Delegate_Imp122(object p0, UnityEngine.Vector3 p1, UnityEngine.Vector3 p2)
        {
#if THREAD_SAFE || HOTFIX_ENABLE
            lock (luaEnv.luaEnvLock)
@@ -2800,7 +2824,7 @@
#endif
        }
        
        public System.Collections.Generic.List<int> __Gen_Delegate_Imp122(object p0)
        public System.Collections.Generic.List<int> __Gen_Delegate_Imp123(object p0)
        {
#if THREAD_SAFE || HOTFIX_ENABLE
            lock (luaEnv.luaEnvLock)
@@ -2822,7 +2846,7 @@
#endif
        }
        
        public System.Collections.Generic.List<Snxxz.UI.GatherSoulItem> __Gen_Delegate_Imp123(object p0)
        public System.Collections.Generic.List<Snxxz.UI.GatherSoulItem> __Gen_Delegate_Imp124(object p0)
        {
#if THREAD_SAFE || HOTFIX_ENABLE
            lock (luaEnv.luaEnvLock)
@@ -2844,7 +2868,7 @@
#endif
        }
        
        public System.Collections.Generic.Dictionary<int, int> __Gen_Delegate_Imp124(object p0)
        public System.Collections.Generic.Dictionary<int, int> __Gen_Delegate_Imp125(object p0)
        {
#if THREAD_SAFE || HOTFIX_ENABLE
            lock (luaEnv.luaEnvLock)
@@ -2866,7 +2890,7 @@
#endif
        }
        
        public string __Gen_Delegate_Imp125(int p0)
        public string __Gen_Delegate_Imp126(int p0)
        {
#if THREAD_SAFE || HOTFIX_ENABLE
            lock (luaEnv.luaEnvLock)
@@ -2888,7 +2912,7 @@
#endif
        }
        
        public int __Gen_Delegate_Imp126(object p0, object p1)
        public int __Gen_Delegate_Imp127(object p0, object p1)
        {
#if THREAD_SAFE || HOTFIX_ENABLE
            lock (luaEnv.luaEnvLock)
@@ -2911,7 +2935,7 @@
#endif
        }
        
        public void __Gen_Delegate_Imp127(object p0, PackType p1)
        public void __Gen_Delegate_Imp128(object p0, PackType p1)
        {
#if THREAD_SAFE || HOTFIX_ENABLE
            lock (luaEnv.luaEnvLock)
@@ -2934,7 +2958,7 @@
#endif
        }
        
        public bool __Gen_Delegate_Imp128(object p0, out System.Collections.Generic.List<int> p1)
        public bool __Gen_Delegate_Imp129(object p0, out System.Collections.Generic.List<int> p1)
        {
#if THREAD_SAFE || HOTFIX_ENABLE
            lock (luaEnv.luaEnvLock)
@@ -2957,7 +2981,7 @@
#endif
        }
        
        public bool __Gen_Delegate_Imp129(object p0, int p1)
        public bool __Gen_Delegate_Imp130(object p0, int p1)
        {
#if THREAD_SAFE || HOTFIX_ENABLE
            lock (luaEnv.luaEnvLock)
@@ -2980,7 +3004,7 @@
#endif
        }
        
        public void __Gen_Delegate_Imp130(object p0, int p1, ref System.Collections.Generic.List<Snxxz.UI.GatherSoulItem> p2)
        public void __Gen_Delegate_Imp131(object p0, int p1, ref System.Collections.Generic.List<Snxxz.UI.GatherSoulItem> p2)
        {
#if THREAD_SAFE || HOTFIX_ENABLE
            lock (luaEnv.luaEnvLock)
@@ -3005,7 +3029,7 @@
#endif
        }
        
        public bool __Gen_Delegate_Imp131(object p0, object p1, int p2, out int p3)
        public bool __Gen_Delegate_Imp132(object p0, object p1, int p2, out int p3)
        {
#if THREAD_SAFE || HOTFIX_ENABLE
            lock (luaEnv.luaEnvLock)
@@ -3030,7 +3054,7 @@
#endif
        }
        
        public bool __Gen_Delegate_Imp132(object p0, object p1, out int p2)
        public bool __Gen_Delegate_Imp133(object p0, object p1, out int p2)
        {
#if THREAD_SAFE || HOTFIX_ENABLE
            lock (luaEnv.luaEnvLock)
@@ -3054,7 +3078,7 @@
#endif
        }
        
        public bool __Gen_Delegate_Imp133(object p0, int p1, object p2)
        public bool __Gen_Delegate_Imp134(object p0, int p1, object p2)
        {
#if THREAD_SAFE || HOTFIX_ENABLE
            lock (luaEnv.luaEnvLock)
@@ -3078,7 +3102,7 @@
#endif
        }
        
        public int __Gen_Delegate_Imp134(object p0, int p1, object p2)
        public int __Gen_Delegate_Imp135(object p0, int p1, object p2)
        {
#if THREAD_SAFE || HOTFIX_ENABLE
            lock (luaEnv.luaEnvLock)
@@ -3102,7 +3126,7 @@
#endif
        }
        
        public bool __Gen_Delegate_Imp135(object p0, int p1, int p2)
        public bool __Gen_Delegate_Imp136(object p0, int p1, int p2)
        {
#if THREAD_SAFE || HOTFIX_ENABLE
            lock (luaEnv.luaEnvLock)
@@ -3126,7 +3150,7 @@
#endif
        }
        
        public bool __Gen_Delegate_Imp136(object p0, object p1, int p2, int p3)
        public bool __Gen_Delegate_Imp137(object p0, object p1, int p2, int p3)
        {
#if THREAD_SAFE || HOTFIX_ENABLE
            lock (luaEnv.luaEnvLock)
@@ -3151,7 +3175,7 @@
#endif
        }
        
        public void __Gen_Delegate_Imp137(object p0, object p1, int p2)
        public void __Gen_Delegate_Imp138(object p0, object p1, int p2)
        {
#if THREAD_SAFE || HOTFIX_ENABLE
            lock (luaEnv.luaEnvLock)
@@ -3163,30 +3187,6 @@
                translator.PushAny(L, p0);
                translator.PushAny(L, p1);
                LuaAPI.xlua_pushinteger(L, p2);
                PCall(L, 3, 0, errFunc);
                LuaAPI.lua_settop(L, errFunc - 1);
#if THREAD_SAFE || HOTFIX_ENABLE
            }
#endif
        }
        public void __Gen_Delegate_Imp138(object p0, object p1, bool p2)
        {
#if THREAD_SAFE || HOTFIX_ENABLE
            lock (luaEnv.luaEnvLock)
            {
#endif
                RealStatePtr L = luaEnv.rawL;
                int errFunc = LuaAPI.pcall_prepare(L, errorFuncRef, luaReference);
                ObjectTranslator translator = luaEnv.translator;
                translator.PushAny(L, p0);
                translator.PushAny(L, p1);
                LuaAPI.lua_pushboolean(L, p2);
                
                PCall(L, 3, 0, errFunc);
                
Lua/Gen/SnxxzUICrossServerOneVsOneModelWrap.cs
@@ -21,7 +21,7 @@
        {
            ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
            System.Type type = typeof(Snxxz.UI.CrossServerOneVsOneModel);
            Utils.BeginObjectRegister(type, L, translator, 0, 27, 19, 9);
            Utils.BeginObjectRegister(type, L, translator, 0, 27, 21, 10);
            
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "Init", _m_Init);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnBeforePlayerDataInitialize", _m_OnBeforePlayerDataInitialize);
@@ -58,6 +58,7 @@
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "IsMatching", _g_get_IsMatching);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "matchStartTime", _g_get_matchStartTime);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "roundEndTime", _g_get_roundEndTime);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "IsNewDay", _g_get_IsNewDay);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "freeMaxMatchNum", _g_get_freeMaxMatchNum);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "buyMaxMatchNum", _g_get_buyMaxMatchNum);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "priceFormula", _g_get_priceFormula);
@@ -65,6 +66,7 @@
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "dayAwardTypelist", _g_get_dayAwardTypelist);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "afterOpenDayOpenCross", _g_get_afterOpenDayOpenCross);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "pkResultInfo", _g_get_pkResultInfo);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "LocalSaveThirdTypeKey", _g_get_LocalSaveThirdTypeKey);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "crossServerRedpoint", _g_get_crossServerRedpoint);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "crossOneVsOneRedpoint", _g_get_crossOneVsOneRedpoint);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "crossArenaRedpoint", _g_get_crossArenaRedpoint);
@@ -75,6 +77,7 @@
            Utils.RegisterFunc(L, Utils.SETTER_IDX, "isClickCoolTime", _s_set_isClickCoolTime);
            Utils.RegisterFunc(L, Utils.SETTER_IDX, "IsMatching", _s_set_IsMatching);
            Utils.RegisterFunc(L, Utils.SETTER_IDX, "matchStartTime", _s_set_matchStartTime);
            Utils.RegisterFunc(L, Utils.SETTER_IDX, "LocalSaveThirdTypeKey", _s_set_LocalSaveThirdTypeKey);
            Utils.RegisterFunc(L, Utils.SETTER_IDX, "crossServerRedpoint", _s_set_crossServerRedpoint);
            Utils.RegisterFunc(L, Utils.SETTER_IDX, "crossOneVsOneRedpoint", _s_set_crossOneVsOneRedpoint);
            Utils.RegisterFunc(L, Utils.SETTER_IDX, "crossArenaRedpoint", _s_set_crossArenaRedpoint);
@@ -864,6 +867,20 @@
        }
        
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_IsNewDay(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.CrossServerOneVsOneModel gen_to_be_invoked = (Snxxz.UI.CrossServerOneVsOneModel)translator.FastGetCSObj(L, 1);
                LuaAPI.lua_pushboolean(L, gen_to_be_invoked.IsNewDay);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_freeMaxMatchNum(RealStatePtr L)
        {
            try {
@@ -955,6 +972,20 @@
            
                Snxxz.UI.CrossServerOneVsOneModel gen_to_be_invoked = (Snxxz.UI.CrossServerOneVsOneModel)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.pkResultInfo);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_LocalSaveThirdTypeKey(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.CrossServerOneVsOneModel gen_to_be_invoked = (Snxxz.UI.CrossServerOneVsOneModel)translator.FastGetCSObj(L, 1);
                LuaAPI.lua_pushstring(L, gen_to_be_invoked.LocalSaveThirdTypeKey);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
@@ -1094,6 +1125,21 @@
        }
        
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _s_set_LocalSaveThirdTypeKey(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.CrossServerOneVsOneModel gen_to_be_invoked = (Snxxz.UI.CrossServerOneVsOneModel)translator.FastGetCSObj(L, 1);
                gen_to_be_invoked.LocalSaveThirdTypeKey = LuaAPI.lua_tostring(L, 2);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 0;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _s_set_crossServerRedpoint(RealStatePtr L)
        {
            try {
Lua/Gen/SnxxzUIGatheringSoulModelWrap.cs
@@ -21,7 +21,7 @@
        {
            ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
            System.Type type = typeof(Snxxz.UI.GatheringSoulModel);
            Utils.BeginObjectRegister(type, L, translator, 0, 45, 18, 5);
            Utils.BeginObjectRegister(type, L, translator, 0, 46, 18, 5);
            
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "Init", _m_Init);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnBeforePlayerDataInitialize", _m_OnBeforePlayerDataInitialize);
@@ -48,6 +48,7 @@
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "SendResolvePack", _m_SendResolvePack);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "ExecuteEquipSoul", _m_ExecuteEquipSoul);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "ExecuteReplaceSoul", _m_ExecuteReplaceSoul);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "TryExecuteReplaceSoul", _m_TryExecuteReplaceSoul);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "ExecutePutOffSoul", _m_ExecutePutOffSoul);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "CheckExist", _m_CheckExist);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "TryGetHoleCondition", _m_TryGetHoleCondition);
@@ -87,19 +88,19 @@
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "levelUpRedpoint", _g_get_levelUpRedpoint);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "equipRedpointHole", _g_get_equipRedpointHole);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "levelUpRedpointHole", _g_get_levelUpRedpointHole);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "replaceRedHoles", _g_get_replaceRedHoles);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "replaceRedpointIndex", _g_get_replaceRedpointIndex);
            
            Utils.RegisterFunc(L, Utils.SETTER_IDX, "autoResolve", _s_set_autoResolve);
            Utils.RegisterFunc(L, Utils.SETTER_IDX, "topBestSoulIndexs", _s_set_topBestSoulIndexs);
            Utils.RegisterFunc(L, Utils.SETTER_IDX, "equipRedpointHole", _s_set_equipRedpointHole);
            Utils.RegisterFunc(L, Utils.SETTER_IDX, "levelUpRedpointHole", _s_set_levelUpRedpointHole);
            Utils.RegisterFunc(L, Utils.SETTER_IDX, "replaceRedHoles", _s_set_replaceRedHoles);
            Utils.RegisterFunc(L, Utils.SETTER_IDX, "replaceRedpointIndex", _s_set_replaceRedpointIndex);
            
            
            Utils.EndObjectRegister(type, L, translator, null, null,
                null, null, null);
            Utils.BeginClassRegister(type, L, __CreateInstance, 8, 0, 0);
            Utils.BeginClassRegister(type, L, __CreateInstance, 9, 0, 0);
            Utils.RegisterFunc(L, Utils.CLS_IDX, "GetEquipHoleName", _m_GetEquipHoleName_xlua_st_);
            
            
@@ -109,6 +110,7 @@
            Utils.RegisterObject(L, translator, Utils.CLS_IDX, "SOULDUST_MONEYTYPE", Snxxz.UI.GatheringSoulModel.SOULDUST_MONEYTYPE);
            Utils.RegisterObject(L, translator, Utils.CLS_IDX, "SOULSPLINTERS_MONEYTYPE", Snxxz.UI.GatheringSoulModel.SOULSPLINTERS_MONEYTYPE);
            Utils.RegisterObject(L, translator, Utils.CLS_IDX, "SOULCORE_MONEYTYPE", Snxxz.UI.GatheringSoulModel.SOULCORE_MONEYTYPE);
            Utils.RegisterObject(L, translator, Utils.CLS_IDX, "RARA_GATHERSOUL_QUALITY", Snxxz.UI.GatheringSoulModel.RARA_GATHERSOUL_QUALITY);
            
            
            
@@ -962,6 +964,35 @@
        }
        
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_TryExecuteReplaceSoul(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                {
                    int _hole = LuaAPI.xlua_tointeger(L, 2);
                    Snxxz.UI.GatherSoulItem _item = (Snxxz.UI.GatherSoulItem)translator.GetObject(L, 3, typeof(Snxxz.UI.GatherSoulItem));
                    gen_to_be_invoked.TryExecuteReplaceSoul( _hole, _item );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_ExecutePutOffSoul(RealStatePtr L)
        {
            try {
@@ -1718,13 +1749,13 @@
        }
        
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_replaceRedHoles(RealStatePtr L)
        static int _g_get_replaceRedpointIndex(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
            
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.replaceRedHoles);
                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.replaceRedpointIndex);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
@@ -1794,13 +1825,13 @@
        }
        
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _s_set_replaceRedHoles(RealStatePtr L)
        static int _s_set_replaceRedpointIndex(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
            
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                gen_to_be_invoked.replaceRedHoles = (System.Collections.Generic.List<int>)translator.GetObject(L, 2, typeof(System.Collections.Generic.List<int>));
                gen_to_be_invoked.replaceRedpointIndex = LuaAPI.xlua_tointeger(L, 2);
            
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
System/Compose/New/ComposeWingsWin.cs
@@ -40,6 +40,8 @@
        [SerializeField]
        Button onekeyPutBtn;
        [SerializeField] GameObject composeItemSelectObj;
        [SerializeField] UIEffect oneMatEffect;
        [SerializeField] UIEffect twoMatEffect;
        [SerializeField] UIEffect threeMatEffect;
@@ -470,6 +472,8 @@
            successRateText.text = Language.Get("HallowsWin_Success", StringUtility.Contact(compoundModel.successRate / 100, "%"));
            composeWinModel.SetCurComposeModel(compoundModel);
            UpdateComposeMat();
            composeItemSelectObj.SetActive(compoundModel.secondType < 4);
        }
        private bool ChangeFixedMatUI()
System/CrossServerOneVsOne/FightingPKWin.cs
@@ -67,6 +67,10 @@
            CrossServerOneVsOneRewardModel.PkDanLvNow = CrossServerOneVsOnePlayerInfo.Instance.DanLV;
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent += Updatefighting;//数据的刷新(h0418)
            GA_Player.s_OnRefreshLife += OnRefreshPlayerLifeBar;
            if (PlayerDatas.Instance.hero != null)
            {
                PlayerDatas.Instance.hero.ActorInfo.OnHpChange += OnHeroHpChanged;
            }
            _MyBuffSortList.Clear();
            _OpponentBuffSortList.Clear();
            SetScoreText();
@@ -78,7 +82,7 @@
            OnCreateGridLineCel2(m_ScrollerController2);
            IsShowMyBuffBtn();
            IsShowOpponentBuffBtn();
        }
        protected override void OnActived()
@@ -89,9 +93,9 @@
            Viewport2.gameObject.SetActive(false);
        }
        protected override void OnAfterOpen()
        {
        {
            HeroBehaviour.OnStopHandupAI += OnHeroHandupAIStopPassive;
            HeroBehaviour.OnStartHandupAI += OnHeroHandupAIStarted;
            dungeonModel.dungeonCoolDownEvent += DungeonCoolDownEvent;
@@ -108,6 +112,10 @@
        {
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= Updatefighting;//数据的刷新(h0418)
            GA_Player.s_OnRefreshLife -= OnRefreshPlayerLifeBar;
            if (PlayerDatas.Instance.hero != null)
            {
                PlayerDatas.Instance.hero.ActorInfo.OnHpChange -= OnHeroHpChanged;
            }
            HeroBehaviour.OnStopHandupAI -= OnHeroHandupAIStopPassive;
            HeroBehaviour.OnStartHandupAI -= OnHeroHandupAIStarted;
            dungeonModel.dungeonCoolDownEvent -= DungeonCoolDownEvent;
@@ -118,14 +126,14 @@
            OpponentInformation.Instance.ShieldUpdate -= ShieldUpdate;
        }
        protected override void OnAfterClose()
        {
        }
        protected override void LateUpdate()
        {
            if (PlayerDatas.Instance.hero!=null && PlayerDatas.Instance.hero.aiHandler.IsAuto())
            if (PlayerDatas.Instance.hero != null && PlayerDatas.Instance.hero.aiHandler.IsAuto())
            {
                m_AutoImg.SetActive(false);
            }
@@ -143,12 +151,18 @@
            }
            else
            {
                var surplus = dungeonEndTime - DateTime.Now;
                var surplus = dungeonEndTime - DateTime.Now;
                m_CountdownText.text = (Mathf.CeilToInt((float)surplus.TotalSeconds)).ToString();
            }
        }
        #endregion
        private void OnHeroHpChanged(ulong hp)
        {
            PlaceOfBirthUpdate(positionType);
        }
        private void DelBuff()
        {
            BuffScheduling();
@@ -182,7 +196,7 @@
        private void BuffUpdateEvent(int playerID)
        {
            int opponentPlayerId = CrossServerLogin.Instance.oneVsOnePlayerData.opponentPlayerId;
            if (playerID == opponentPlayerId)
            {
@@ -225,7 +239,7 @@
        }
        private void OnRefreshPlayerLifeBar(uint _instanceId, ulong _hp, ulong _maxHp)
        {
         //   DebugEx.LogError("最大血量"+ _maxHp+"当前血量"+ _hp);
            //   DebugEx.LogError("最大血量"+ _maxHp+"当前血量"+ _hp);
            if (positionType == 1)
            {
                m_RoleInformation2.SetHeroHP((int)_maxHp, (int)_hp);
@@ -250,7 +264,7 @@
                    m_RoleInformation1.SetShieldNumber(CrossServerLogin.Instance.oneVsOnePlayerData.MaxProDef, shieldNow);
                }
            }
         //   DebugEx.LogError("输出玩家的ID" + playerID+"输出当前护盾值"+ shieldNow);
            //   DebugEx.LogError("输出玩家的ID" + playerID+"输出当前护盾值"+ shieldNow);
        }
        private void OnHeroHandupAIStopPassive()
        {
@@ -309,7 +323,7 @@
                m_ScoreText2.text = youWin.ToString();
            }
            else
            {
            {
                m_ScoreText1.text = youWin.ToString();
                m_ScoreText2.text = myWin.ToString();
            }
@@ -406,7 +420,7 @@
                {
                    _ScrollRect2.vertical = true;
                    (Viewport2 as RectTransform).sizeDelta = (Viewport2 as RectTransform).sizeDelta.SetY(MaxHeight + UpperAndLower);
                }
                }
            }
            else
            {
@@ -419,7 +433,7 @@
                {
                    _ScrollRect2.vertical = false;
                    (Viewport2 as RectTransform).sizeDelta = (Viewport2 as RectTransform).sizeDelta.SetY(_MyBuffSortList.Count * ItemHeight + UpperAndLower);
                }
                }
            }
        }
        void UpdateControllerPositionOppoent()
@@ -582,6 +596,9 @@
                m_RoleInformation1.SetHeroLvAndName((int)PlayerDatas.Instance.baseData.LV, PlayerName);
                m_RoleInformation1.SetHeroHP(PlayerDatas.Instance.extersion.MaxHP, (int)PlayerDatas.Instance.baseData.HP);
                m_RoleInformation1.SetShieldNumber(PlayerDatas.Instance.extersion.MaxProDef, (int)PlayerDatas.Instance.baseData.ExAttr4);
#if UNITY_EDITOR
                Debug.LogFormat("设置血量: {0}/{1}", PlayerDatas.Instance.baseData.HP, PlayerDatas.Instance.extersion.MaxHP);
#endif
            }
            else
            {
@@ -589,16 +606,19 @@
                m_RoleInformation2.SetHeroLvAndName((int)PlayerDatas.Instance.baseData.LV, PlayerName);
                m_RoleInformation2.SetHeroHP(PlayerDatas.Instance.extersion.MaxHP, (int)PlayerDatas.Instance.baseData.HP);
                m_RoleInformation2.SetShieldNumber(PlayerDatas.Instance.extersion.MaxProDef, (int)PlayerDatas.Instance.baseData.ExAttr4);
#if UNITY_EDITOR
                Debug.LogFormat("设置血量: {0}/{1}", PlayerDatas.Instance.baseData.HP, PlayerDatas.Instance.extersion.MaxHP);
#endif
            }
        }
        private void GetopponentBuff()//获取对手身上的Buff
        {
            List<int> buffIds=new List<int>();
            List<int> buffIds = new List<int>();
            _OpponentBuffSortList.Clear();
            StatusMgr.Instance.GetBuffIds((uint)CrossServerLogin.Instance.oneVsOnePlayerData.opponentPlayerId, ref buffIds);
            if (buffIds.Count > 0)
            {
            {
                for (int i = 0; i < buffIds.Count; i++)
                {
                    _OpponentBuffSortList.Add(buffIds[i]);
System/FairyAu/FairyFeastModel.cs
@@ -25,8 +25,6 @@
        public ulong totalExp { get; private set; }
        Dictionary<int, HourMinute> normalQuestionTimes = new Dictionary<int, HourMinute>();
        Dictionary<int, Dictionary<int, HourMinute>> specialQuestionTime =
            new Dictionary<int, Dictionary<int, HourMinute>>();
        public override void Init()
        {
@@ -81,58 +79,16 @@
                    }
                }
            }
            var specialList = DungeonSpecialStateTimeConfig.GetDungeonTimes(31230);
            for (int i = 0; i < specialList.Count; i++)
            {
                if (specialList[i].StateValue == 2)
                {
                    var dayOfWeek = specialList[i].OpenServerWeek % 7;
                    Dictionary<int, HourMinute> dict;
                    if (!specialQuestionTime.TryGetValue(dayOfWeek, out dict))
                    {
                        dict = new Dictionary<int, HourMinute>();
                        specialQuestionTime.Add(dayOfWeek, dict);
                    }
                    if (!dict.ContainsKey(specialList[i].OpenServerDay))
                    {
                        dict.Add(specialList[i].OpenServerDay, new HourMinute()
                        {
                            hourBegin = specialList[i].StartHour,
                            hourEnd = specialList[i].EndHour,
                            minuteBegin = specialList[i].StartMinute,
                            minuteEnd = specialList[i].EndMinute,
                        });
                    }
                }
            }
        }
        public bool TryGetQuestionTime(out HourMinute time)
        {
            time = default(HourMinute);
            bool isSpecial = TimeUtility.OpenWeekCnt <= 1;
            if (isSpecial)
            var dayOfWeek = (int)TimeUtility.ServerNow.DayOfWeek;
            if (normalQuestionTimes.ContainsKey(dayOfWeek))
            {
                var openDayWeek = (int)TimeUtility.openServerDayOfWeek;
                if (specialQuestionTime.ContainsKey(openDayWeek))
                {
                    var dict = specialQuestionTime[openDayWeek];
                    var dayIndex = TimeUtility.OpenDay + 1;
                    if (dict.ContainsKey(dayIndex))
                    {
                        time = dict[dayIndex];
                        return true;
                    }
                }
            }
            else
            {
                var dayOfWeek = (int)TimeUtility.ServerNow.DayOfWeek;
                if (normalQuestionTimes.ContainsKey(dayOfWeek))
                {
                    time = normalQuestionTimes[dayOfWeek];
                    return true;
                }
                time = normalQuestionTimes[dayOfWeek];
                return true;
            }
            return false;
        }
System/FairyAu/FairyLeagueRemindBehaviour.cs
@@ -34,8 +34,9 @@
            model.onFairyLeagueBattleEvent += OnFairyLeagueBattleEvent;
            FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
            PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += OnRefreshFairyInfo;
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent += PlayerDataRefreshInfoEvent;
            requireRemind = SatisfyRemindCondition() && model.RequireFairyLeagueRemind(1)
                && TryGetStartTime(out startTime);
                && TryGetStartTime(out startTime) && !InCrossServer();
            m_Container.gameObject.SetActive(requireRemind);
            if (requireRemind)
            {
@@ -50,6 +51,7 @@
            model.onFairyLeagueBattleEvent -= OnFairyLeagueBattleEvent;
            FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
            PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= OnRefreshFairyInfo;
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= PlayerDataRefreshInfoEvent;
            requireRemind = false;
        }
@@ -111,10 +113,18 @@
            }
        }
        private void PlayerDataRefreshInfoEvent(PlayerDataRefresh refreshType)
        {
            if (refreshType == PlayerDataRefresh.ExAttr5)
            {
                OnRefreshFairyLeagueEvent();
            }
        }
        private void OnFairyLeagueBattleEvent()
        {
            requireRemind = SatisfyRemindCondition() && model.RequireFairyLeagueRemind(1)
                && TryGetStartTime(out startTime);
                && TryGetStartTime(out startTime) && !InCrossServer();
            m_Container.gameObject.SetActive(requireRemind);
            if (requireRemind)
            {
@@ -125,7 +135,7 @@
        private void OnRefreshFairyLeagueEvent()
        {
            requireRemind = SatisfyRemindCondition() && model.RequireFairyLeagueRemind(1)
                && TryGetStartTime(out startTime);
                && TryGetStartTime(out startTime) && !InCrossServer();
            m_Container.gameObject.SetActive(requireRemind);
            if (requireRemind)
            {
@@ -140,6 +150,11 @@
            return fairyLeagueStage == FairyLeagueStage.Grouping && session == 1;
        }
        bool InCrossServer()
        {
            return PlayerDatas.Instance.baseData.ExAttr5 == 1;
        }
        bool TryGetStartTime(out DateTime time)
        {
            time = DateTime.Now;
System/GatheringSoul/GatherSoulEquipListWin.cs
@@ -75,7 +75,7 @@
            var equipCell = cell as GatherSoulEquipCell;
            if (cell.index < equipList.Count)
            {
                equipCell.Display(equipList[cell.index], cell.index == 0);
                equipCell.Display(equipList[cell.index], false);
            }
        }
System/GatheringSoul/GatherSoulHoleBehaviour.cs
@@ -111,9 +111,12 @@
                    {
                        data.SetTipsFuncBtn(ItemWinBtnType.LevelUp, OnTipFunc);
                    }
                    if (model.replaceRedHoles.Contains(hole))
                    List<GatherSoulItem> list = new List<GatherSoulItem>();
                    model.TryGetSatisfyReplaceSouls(hole, ref list);
                    if (list.Count > 0)
                    {
                        data.SetTipsFuncBtn(ItemWinBtnType.Replace, OnTipFunc);
                        list = null;
                    }
                    itemTipsModel.SetItemTipsModel(data);
                }
@@ -144,8 +147,7 @@
        void DisplayRedpoint()
        {
            bool requireRedpoint = (model.equipRedpoint.state == RedPointState.Simple && model.equipRedpointHole == hole)
                || (model.levelUpRedpoint.state == RedPointState.Simple && model.levelUpRedpointHole == hole)
                || (model.replaceRedpoint.state == RedPointState.Simple && model.replaceRedHoles.Contains(hole));
                || (model.levelUpRedpoint.state == RedPointState.Simple && model.levelUpRedpointHole == hole);
            m_ContaienrRedpoint.gameObject.SetActive(requireRedpoint);
        }
System/GatheringSoul/GatherSoulItemBehaviour.cs
@@ -162,8 +162,7 @@
            if (m_Select != null)
            {
                var requireSelect = displayItem.packType == PackType.rptGatherSoul
                    && soulModel.topBestSoulIndexs.Contains(displayItem.index)
                    && soulModel.equipRedpoint.state == RedPointState.Simple;
                    && soulModel.topBestSoulIndexs.Contains(displayItem.index);
                m_Select.gameObject.SetActive(requireSelect);
                if (requireSelect)
                {
System/GatheringSoul/GatherSoulResolveWin.cs
@@ -106,15 +106,15 @@
        int GetDefaultQuality()
        {
            for (int i = 4; i >= 2; i--)
            {
                model.GetResolveSouls(i, model.resolveItems);
                if (model.resolveItems.Count > 0)
                {
                    return i;
                }
            }
            return 2;
            //for (int i = 4; i >= 2; i--)
            //{
            //    model.GetResolveSouls(i, model.resolveItems);
            //    if (model.resolveItems.Count > 0)
            //    {
            //        return i;
            //    }
            //}
            return GatheringSoulModel.RARA_GATHERSOUL_QUALITY - 1;
        }
        private void PlayerDataRefreshInfoEvent(PlayerDataRefresh refreshType)
@@ -239,9 +239,8 @@
            }
            bool existUnEquipBetterProperty = false;
            bool existRareGatherSoul = false;
            var count = model.holeCount;
            var error = 0;
            for (int i = 0; i < model.resolveItems.Count; i++)
            {
                var item = model.resolveItems[i];
@@ -251,36 +250,44 @@
                    {
                        continue;
                    }
                    if (model.IsSamePropertyCompareHoles(-1, item) == -1)
                    if (item.itemColor >= GatheringSoulModel.RARA_GATHERSOUL_QUALITY)
                    {
                        existUnEquipBetterProperty = true;
                        existRareGatherSoul = true;
                        break;
                    }
                    for (int k = 0; k < count; k++)
                }
            }
            if (!existRareGatherSoul)
            {
                for (int i = 0; i < model.resolveItems.Count; i++)
                {
                    var item = model.resolveItems[i];
                    if (item != null && model.CheckExist(item))
                    {
                        GatherSoulItem holeItem;
                        if (model.TryGetItem(k, out holeItem))
                        if (item.itemType == GatheringSoulModel.GATHERSOUL_ESSENCE_TYPE)
                        {
                            if (model.SatisfyReplace(k, item) && item.Compare(holeItem) == 1)
                            {
                                existUnEquipBetterProperty = true;
                                break;
                            }
                            continue;
                        }
                        else if (model.SatisfyEquipSoul(item, k, out error))
                        if (model.IsSamePropertyCompareHoles(-1, item) == -1)
                        {
                            existUnEquipBetterProperty = true;
                            break;
                        }
                    }
                }
                if (existUnEquipBetterProperty)
                {
                    break;
                }
            }
            if (existUnEquipBetterProperty)
            if (existRareGatherSoul)
            {
                ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("RareGatherSoulResolveConfirm"), (bool isOk) =>
                {
                    if (isOk)
                    {
                        TryResolve();
                    }
                });
            }
            else if (existUnEquipBetterProperty)
            {
                ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("GatherSoulResolveConfirm"), (bool isOk) =>
                  {
System/GatheringSoul/GatherSoulTipWin.cs
@@ -155,7 +155,7 @@
                    else if (callBackType == ItemWinBtnType.Replace)
                    {
                        m_Redpoints[index].gameObject.SetActive(model.replaceRedpoint.state == RedPointState.Simple
                            && model.replaceRedHoles.Contains(itemTipsModel.curAttrData.equipHole));
                            && itemTipsModel.curAttrData.index == model.replaceRedpointIndex);
                    }
                }
                index++;
System/GatheringSoul/GatheringSoulModel.cs
@@ -83,6 +83,8 @@
        public const int SOULSPLINTERS_MONEYTYPE = 29;
        public const int SOULCORE_MONEYTYPE = 30;
        public const int RARA_GATHERSOUL_QUALITY = 3;
        const int GATHERSOUL_REDPOINT_BASE = 10102;
        const int GATHERSOUL_REDPOINT_DEEP = 1010200;
        static int redpointIndex = 5;
@@ -334,7 +336,6 @@
        void SelectBestReplaceSoul()
        {
            List<int> list;
            var count = holeCount;
            if (virtualPack.TryGetItems(PackType.rptGatherSoul, out list))
            {
                for (int i = 0; i < list.Count; i++)
@@ -342,19 +343,17 @@
                    GatherSoulItem packItem;
                    if (virtualPack.TryGetItem(PackType.rptGatherSoul, list[i], out packItem))
                    {
                        for (int k = 0; k < count; k++)
                        var hole = 0;
                        if (SatisfyReplace(packItem, out hole))
                        {
                            if (SatisfyReplace(k, packItem))
                            GatherSoulItem item;
                            if (TryGetItem(hole, out item) && packItem.Compare(item) == 1)
                            {
                                GatherSoulItem item;
                                if (TryGetItem(k, out item) && packItem.Compare(item) == 1)
                                if (!packIndexs.Contains(list[i]))
                                {
                                    if (!packIndexs.Contains(list[i]))
                                    {
                                        packIndexs.Add(list[i]);
                                    }
                                    break;
                                    packIndexs.Add(list[i]);
                                }
                                break;
                            }
                        }
                    }
@@ -592,7 +591,7 @@
                if (TryGetItem(i, out holeItem))
                {
                    if (item.gatherSoulType == holeItem.gatherSoulType
                        && IsSamePropertyCompareHoles(i, item) == -1)
                        && item.ExistSameProperty(holeItem.id))
                    {
                        hole = i;
                        return true;
@@ -775,7 +774,20 @@
                    }
                    else
                    {
                        ExecuteResolve(item);
                        if (item.itemColor >= RARA_GATHERSOUL_QUALITY)
                        {
                            ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("BestGatherSoulResolveConfirm"), (bool isOk) =>
                            {
                                if (isOk)
                                {
                                    ExecuteResolve(item);
                                }
                            });
                        }
                        else
                        {
                            ExecuteResolve(item);
                        }
                    }
                    break;
                case ItemWinBtnType.Wear:
@@ -1394,6 +1406,10 @@
                        list.Add(item);
                        continue;
                    }
                    if (item.itemType == GATHERSOUL_CORE_TYPE)
                    {
                        continue;
                    }
                    var propertys = gatherSoulPropertys[item.id];
                    if (propertys.Count > 1)
                    {
@@ -1401,7 +1417,7 @@
                    }
                    var property = propertys[0];
                    var config = Config.Instance.Get<ItemConfig>(item.id);
                    if (item.itemType == GATHERSOUL_SOUL_TYPE && config.ItemColor <= 2)
                    if (item.itemType == GATHERSOUL_SOUL_TYPE && config.ItemColor < RARA_GATHERSOUL_QUALITY)
                    {
                        list.Add(item);
                        continue;
@@ -1451,6 +1467,11 @@
                    if (item.itemType == GATHERSOUL_ESSENCE_TYPE)
                    {
                        list.Add(item);
                        continue;
                    }
                    if (item.itemType == GATHERSOUL_CORE_TYPE ||
                        item.itemColor >= RARA_GATHERSOUL_QUALITY)
                    {
                        continue;
                    }
                    var propertys = gatherSoulPropertys[item.id];
@@ -1532,10 +1553,9 @@
        #region 红点
        public int equipRedpointHole = 0;
        public int levelUpRedpointHole = 0;
        public List<int> replaceRedHoles = new List<int>();
        public int replaceRedpointIndex = 0;
        void UpdateRedpoint()
        {
            replaceRedHoles.Clear();
            equipRedpoint.state = RedPointState.None;
            replaceRedpoint.state = RedPointState.None;
            resolveRedpoint.state = RedPointState.None;
@@ -1563,41 +1583,42 @@
                }
            }
            var count = holeCount;
            if (packIndexs.Count > 0 && topBestSoulIndexs.Count > 0)
            if (packIndexs.Count > 0)
            {
                for (int k = 0; k < count; k++)
                GatherSoulItem item;
                virtualPack.TryGetItem(PackType.rptGatherSoul, packIndexs[0], out item);
                for (int i = 0; i < count; i++)
                {
                    GatherSoulItem holeItem;
                    if (!TryGetItem(k, out holeItem))
                    if (TryGetItem(i, out holeItem))
                    {
                        continue;
                    }
                    for (int i = 0; i < topBestSoulIndexs.Count; i++)
                    {
                        GatherSoulItem item;
                        if (virtualPack.TryGetItem(PackType.rptGatherSoul, topBestSoulIndexs[i], out item))
                        if (SatisfyReplace(i, item) && item.Compare(holeItem) == 1)
                        {
                            if (SatisfyReplace(k, item) && item.Compare(holeItem) == 1)
                            {
                                replaceRedHoles.Add(k);
                                break;
                            }
                            replaceRedpointIndex = item.index;
                            replaceRedpoint.state = RedPointState.Simple;
                            return;
                        }
                    }
                }
                if (replaceRedHoles.Count > 0)
                {
                    replaceRedpoint.state = RedPointState.Simple;
                    return;
                }
            }
            List<GatherSoulItem> list = new List<GatherSoulItem>();
            GetResolveSouls(int.MaxValue, list);
            if (list.Count > 0)
            {
                resolveRedpoint.state = RedPointState.Simple;
                list = null;
                return;
                for (int i = 0; i < list.Count; i++)
                {
                    if (list[i] == null)
                    {
                        continue;
                    }
                    if (list[i].itemType == GATHERSOUL_ESSENCE_TYPE
                        || list[i].itemColor < RARA_GATHERSOUL_QUALITY)
                    {
                        resolveRedpoint.state = RedPointState.Simple;
                        list = null;
                        return;
                    }
                }
            }
            GatherSoulItem coreItem;
            if (TryGetItem(coreHole, out coreItem) &&
@@ -1729,12 +1750,6 @@
            if (compareConfig.ItemColor != config.ItemColor)
            {
                return config.ItemColor > compareConfig.ItemColor ? 1 : -1;
            }
            var compareSort = model.GetPropertyHighestSort(model.gatherSoulPropertys[compare.id]);
            var sort = model.GetPropertyHighestSort(model.gatherSoulPropertys[id]);
            if (compareSort != sort)
            {
                return sort < compareSort ? 1 : -1;
            }
            if (level != compare.level)
            {
System/MainInterfacePanel/MainInterfaceWin.cs
@@ -726,16 +726,31 @@
        private void UpdateDungeonAssistImag()
        {
            if (PlayerDatas.Instance.baseData.ExAttr5 == 1)
            {
                DungeonAssistImg.gameObject.SetActive(false);
                return;
            }
            DungeonAssistImg.gameObject.SetActive(assistModel.IsNewAssistInfo);
        }
        private void UpdateMysticalPurchaseImag()
        {
            if (PlayerDatas.Instance.baseData.ExAttr5 == 1)
            {
                MysticalPurchaseImg.gameObject.SetActive(false);
                return;
            }
            MysticalPurchaseImg.gameObject.SetActive(purchaseModel.priorityOpen);
        }
        private void UpdateWishAwardImag()
        {
            if(PlayerDatas.Instance.baseData.ExAttr5 == 1)
            {
                WishingAwardImg.gameObject.SetActive(false);
                return;
            }
            WishingAwardImg.gameObject.SetActive(wishModel.wishingAwardDict.Count > 0 ? true : false);
        }
Utility/RuntimeLogUtility.cs
@@ -220,7 +220,7 @@
            Vector3 _position = Vector3.zero;
            if (GActor.TryGetValidPos(_navChkPos, ref _position))
            {
                Debug.Log("正常点........");
                Debug.Log("正常点........: " + _position);
            }
            else
            {
@@ -327,6 +327,7 @@
                EditorGUILayout.LabelField("技能信息", _content);
            }
            EditorGUILayout.IntField("当前主角AI执行状态值: ", HeroAI_Base.stopReason);
            EditorGUILayout.TextField("队伍ID", _hero.ActorInfo.teamID.ToString());
            EditorGUILayout.TextField("是否处于地图切换", GA_Hero.s_MapSwitching.ToString());
            EditorGUILayout.TextField("当前身体状态", _hero.MovingState.ToString());
Utility/StageLoadTimeOutCatcher.cs
@@ -7,7 +7,12 @@
{
    const int timeOut = 20;//秒
    public static DateTime got0102Time = DateTime.MinValue;
    public static DateTime gotA126Time = DateTime.MinValue;
    public static DateTime gotA127Time = DateTime.MinValue;
    public static DateTime got0109Time = DateTime.MinValue;
    public static DateTime send0107Time = DateTime.MinValue;
    public static StageLoadTimeOutCatcher Begin(int stageId)
    {
@@ -43,12 +48,31 @@
            var description = StringUtility.Contact(
                                        "开始时间:", startTime.ToString("HH:mm:ss"), ";",
                                        "超时时间:", DateTime.Now.ToString("HH:mm:ss"),
                                        "服务器是否准备中:", StageManager.Instance.isServerPreparing,
                                        "上一次接收到0109的时间:", got0109Time);
                                        "0102时间:", got0102Time.ToString("HH:mm:ss"), ";",
                                        "A126时间:", gotA126Time.ToString("HH:mm:ss"), ";",
                                        "A127时间:", gotA127Time.ToString("HH:mm:ss"), ";",
                                        "0109时间:", got0109Time.ToString("HH:mm:ss"), ";",
                                        "0107时间:", send0107Time.ToString("HH:mm:ss"));
            ExceptionCatcher.ReportException(title, description);
            Stop();
        }
    }
    public static void ReportChangeMapRecord(GameNetSystem.SocketType socketType, string protocol, DateTime time)
    {
        try
        {
            var title = StringUtility.Contact("地图加载记录-->玩家名称:", PlayerDatas.Instance.baseData.PlayerName);
            var description = StringUtility.Contact("服务器:", socketType, ";", "协议编号:", protocol, ";", "时间:", time.ToString("HH:mm:ss"));
            ExceptionCatcher.ReportException(title, description);
        }
        catch (System.Exception ex)
        {
        }
    }
}