少年修仙传客户端代码仓库
client_Wu Xijin
2018-12-24 769eca1d9e5d4c7a0d1875a71ddb63d0aebc404f
Merge remote-tracking branch 'origin/master' into Cross_Server

# Conflicts:
# Lua/Gen/DelegatesGensBridge.cs
8 文件已复制
1个文件已删除
1 文件已重命名
9个文件已添加
48个文件已修改
6102 ■■■■ 已修改文件
Core/GameEngine/Common/Equation.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Player/Realm/PlayerRealmData.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Player/Realm/RealmModel.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0418_tagObjInfoRefresh.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/Actor/UserInputHandler.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/Bhv_FindEnemy.cs 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GAMgr.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GAStaticDefine.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GA_Hero.cs 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GA_NpcCollect.cs 82 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GA_NpcFightNorm.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GA_NpcFunc.cs 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GA_Pet.cs 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GA_Player.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GActor.cs 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GActorPlayerBase.cs 141 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/PartialModelResConfig.cs 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUIFairyFeastModelWrap.cs 305 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUIFairyFeastModelWrap.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUIGatherSoulComposeModelWrap.cs 457 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUIGatherSoulComposeModelWrap.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUIGatherSoulDungeonModelWrap.cs 538 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUIGatherSoulDungeonModelWrap.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUIGatheringSoulModelWrap.cs 1828 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUIGatheringSoulModelWrap.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUIMagicianModelWrap.cs 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUIRoleModelWrap.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUIRoleParticularModelWrap.cs 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUIVirtualPackModelWrap.cs 367 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUIVirtualPackModelWrap.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/XLuaGenAutoRegister.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/link.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Chat/ChatCtrl.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonFairyFeastHintWin.cs 137 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonModel.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonTargetBehaviour.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyFeastBehaviour.cs 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyFeastMemberCell.cs 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyFeastMemberCell.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyFeastModel.cs 384 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyFeastTransmitListWin.cs 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyFeastTransmitListWin.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyFeastTransmitShow.cs 552 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyFeastTransmitShow.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyFeastTransmitShowWin.cs 201 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyFeastTransmitShowWin.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyLeagueRemindBehaviour.cs 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyTransmitPopUpExp.cs 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyTransmitPopUpExp.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/MethodToWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/GatheringSoul/GatherSoulHoleBehaviour.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/GatheringSoul/GatherSoulItemBehaviour.cs 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/GatheringSoul/GatherSoulMatItem.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/GatheringSoul/GatherSoulResolveWin.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/GatheringSoul/GatherSoulWin.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/GatheringSoul/GatheringSoulModel.cs 49 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/ChatFrame.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/HeadPortraitTip.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/LowSettingTip.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Message/MessageWin.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Role/MagicianModel.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Role/MagicianWin.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Role/RoleModel.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/RoleParticulars/RoleParticularModel.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI/Common/UI3DModelExhibition.cs 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI/Common/UI3DModelFactory.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/UIHelper.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Common/Equation.cs
@@ -309,7 +309,7 @@
                        return UnityEngine.Random.Range((float)_leftValue, (float)_rightValue);
                    }
                case OperatorType.Floor:
                    return (int)_leftValue;
                    return Math.Floor(_leftValue);
                case OperatorType.Ceil:
                    return Math.Ceiling((float)_leftValue);
                case OperatorType.RandomInt:
Core/GameEngine/Model/Player/Realm/PlayerRealmData.cs
@@ -50,7 +50,8 @@
            {
                return;
            }
            if (!WindowCenter.Instance.IsOpen<RealmUpHoldWin>() && !NewBieCenter.Instance.inGuiding && !BossShowModel.Instance.BossShowing)
            if (!WindowCenter.Instance.IsOpen<RealmUpHoldWin>() && !NewBieCenter.Instance.inGuiding
                && !BossShowModel.Instance.BossShowing && !FairyFeastTransmitShow.Instance.IsOpen)
            {
                WindowCenter.Instance.Open<RealmUpHoldWin>();
            }
Core/GameEngine/Model/Player/Realm/RealmModel.cs
@@ -38,6 +38,7 @@
            StageManager.Instance.onStageLoadFinish += OnStageLoadFinish;
            NewBieCenter.Instance.guideCompletedEvent += GuideCompletedEvent;
            BossShowModel.Instance.bossShowCompletedEvent += BossShowCompletedEvent;
            FairyFeastTransmitShow.Instance.onComplete += BossShowCompletedEvent;
        }
        private int cacheMapId = 0;
@@ -71,7 +72,8 @@
            if (StageManager.Instance.CurrentStage is DungeonStage)
            {
                if (PlayerDatas.Instance.realm.holdDataList.Count > 0
                && !WindowCenter.Instance.IsOpen<RealmUpHoldWin>() && !NewBieCenter.Instance.inGuiding && !BossShowModel.Instance.BossShowing)
                && !WindowCenter.Instance.IsOpen<RealmUpHoldWin>() && !NewBieCenter.Instance.inGuiding
                && !BossShowModel.Instance.BossShowing && !FairyFeastTransmitShow.Instance.IsOpen)
                {
                    WindowCenter.Instance.Open<RealmUpHoldWin>();
                }
@@ -90,7 +92,8 @@
                cacheRealmLv = PlayerDatas.Instance.baseData.realmLevel;
            }
            if (PlayerDatas.Instance.realm.holdDataList.Count > 0
                && !WindowCenter.Instance.IsOpen<RealmUpHoldWin>() && !NewBieCenter.Instance.inGuiding && !BossShowModel.Instance.BossShowing)
                && !WindowCenter.Instance.IsOpen<RealmUpHoldWin>() && !NewBieCenter.Instance.inGuiding
                && !BossShowModel.Instance.BossShowing && !FairyFeastTransmitShow.Instance.IsOpen)
            {
                WindowCenter.Instance.Open<RealmUpHoldWin>();
            }
@@ -113,7 +116,8 @@
            if (StageManager.Instance.CurrentStage is DungeonStage)
            {
                if (PlayerDatas.Instance.realm.holdDataList.Count > 0
               && !WindowCenter.Instance.IsOpen<RealmUpHoldWin>() && !NewBieCenter.Instance.inGuiding && !BossShowModel.Instance.BossShowing)
               && !WindowCenter.Instance.IsOpen<RealmUpHoldWin>() && !NewBieCenter.Instance.inGuiding
               && !BossShowModel.Instance.BossShowing && !FairyFeastTransmitShow.Instance.IsOpen)
                {
                    WindowCenter.Instance.Open<RealmUpHoldWin>();
                }
Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0418_tagObjInfoRefresh.cs
@@ -61,6 +61,14 @@
                _actor.ActorInfo.ResetHp(-1, -1, (int)vNetData.Value);
            }
            if(_actor is GActorNpcFight)
            {
                if((PlayerDataRefresh)vNetData.RefreshType == PlayerDataRefresh.Speed)
                {
                    _actor.ActorInfo.moveSpeed = 500f / vNetData.Value;
                }
            }
            GA_Player _player = _actor as GA_Player;
            if (_player == null)
Fight/Actor/UserInputHandler.cs
@@ -276,6 +276,8 @@
                 || _hero.SkillMgr.CurCastSkill.SkillCompelete))
                {
                    _hero.Run();
                    _hero.State = E_ActorState.CtrlRun;
                }
            }
        }
@@ -348,7 +350,7 @@
        //Send_TagCPlayerStopMove(_hero.Position);
    }
    private static byte s_LastStatus = 0;
    //private static byte s_LastStatus = 0;
    public static void Send_CB409_tagCMPyMove(byte moveOrStop = 1)
    {
Fight/GameActor/Bhv_FindEnemy.cs
@@ -94,7 +94,14 @@
            float _distSqrt = MathUtility.DistanceSqrtXZ(_targetPos, _heroPos);
            if (_distSqrt > Mathf.Pow(reFindSelectTargetDist, 2))
            var _chkDis = reFindSelectTargetDist;
            if (_hero.SelectTarget is GA_NpcCollect && PlayerDatas.Instance.baseData.MapID == 31340)
            {
                _chkDis = reFindSelectTargetDist * 2;
            }
            if (_distSqrt > Mathf.Pow(reFindSelectTargetDist, _chkDis))
            {
                _hero.SelectTarget = GAMgr.Instance.FindAtkTarget(_hero.Pos, reSetLockTargetDist);
            }
Fight/GameActor/GAMgr.cs
@@ -176,11 +176,17 @@
                if (_index != -1 && _index < BattleEffectPlayRule.Instance.horseEffectLimit)
                {
                    _player.ShowHorseEffect();
                    _player.ShowWeaponEffect();
                    _player.ShowSecondaryEffect();
                    _player.ShowGodWeaponEffect();
                    //Debug.LogFormat("_list: {0} 的拥有者: {1} 在列表中且位于: {2}, 小于限制数量: {3}", _chkPlayer.ServerInstID, _player.ServerInstID, _index, BattleEffectPlayRule.Instance.petLimit);
                }
                else
                {
                    _player.HideHorseEffect();
                    _player.HideWeaponEffect();
                    _player.HideSecondaryEffect();
                    _player.HideGodWeaponEffect();
                    //Debug.LogFormat("_list: {0} 的拥有者: {1} 在列表中且位于: {2}, 大于限制数量: {3}", _chkPlayer.ServerInstID, _player.ServerInstID, _index, BattleEffectPlayRule.Instance.petLimit);
                }
            }
Fight/GameActor/GAStaticDefine.cs
@@ -33,6 +33,7 @@
    public static readonly int State_HurtDown2Hash = Animator.StringToHash("HurtDown_801");
    public static readonly int State_RollHash = Animator.StringToHash("Skill_99");
    public static readonly int State_Dance = Animator.StringToHash("Dance");
    public static readonly int State_Transmit = Animator.StringToHash("Transmit");//传功
    public static readonly int State_Attack1Hash = Animator.StringToHash("Attack_10");
    public static readonly int State_Attack2Hash = Animator.StringToHash("Attack_11");
Fight/GameActor/GA_Hero.cs
@@ -111,7 +111,6 @@
            {
                return;
            }
            IOtherSelectable _selectable = base.SelectTarget as IOtherSelectable;
            if (_selectable != null)
            {
@@ -267,7 +266,7 @@
        m_SuitCount = _suitCount;
    }
    protected sealed override void OnUnit()
    {
        Object.Destroy(m_BhvFindEnemy);
@@ -415,14 +414,51 @@
    {
        base.OnFixedUpdate();
        if(IsRushing)
        if (IsRushing)
        {
            m_RushTime += Time.deltaTime;
            if(m_RushTime > 2)
            if (m_RushTime > 2)
            {
                StopRush();
            }
        }
        if (PlayerDatas.Instance.baseData.MapID == 31340)
        {
            if (State == E_ActorState.AutoRun
            || State == E_ActorState.CtrlRun)
            {
                var _list = GAMgr.Instance.GetTypeList(E_ActorClassType.NpcCollect);
                if (_list != null && _list.Count > 0)
                {
                    _list.Sort((a1, a2) =>
                    {
                        float _d1 = MathUtility.DistanceSqrtXZ(a1.Pos, Pos);
                        float _d2 = MathUtility.DistanceSqrtXZ(a2.Pos, Pos);
                        return _d2 > _d1 ? -1 : 1;
                    });
                    var _collect = _list[0] as GA_NpcCollect;
                    if (_collect != null)
                    {
                        var _dist = MathUtility.DistanceSqrtXZ(_collect.Pos, Pos);
                        if (_dist < 16)
                        {
                            if ((SelectTarget == null || SelectTarget is GA_NpcCollect) && SelectTarget != _collect)
                            {
                                SelectTarget = _collect;
                                _collect.Arrive();
                            }
                        }
                    }
                }
            }
        }
    }
    protected sealed override void OnLateUpdate()
Fight/GameActor/GA_NpcCollect.cs
@@ -78,6 +78,23 @@
        base.OnPrefabLoadFinished(result, prefab);
    }
    protected override void OnMainModelLoaded()
    {
        base.OnMainModelLoaded();
        if (m_Model)
        {
            if (NpcConfig.NPCID == 33409001)
            {
                m_Model.transform.localPosition = new Vector3(0,0.132f,0);
            }
            else if (NpcConfig.NPCID == 33409002)
            {
                m_Model.transform.localPosition = new Vector3(0,0.142f,0);
            }
        }
    }
    protected sealed override void HandleNpcConfig(int npcID)
    {
        if (npcID == 10404100)
@@ -189,15 +206,19 @@
        if (obj is MainInterfaceWin)
        {
            m_IsMainWinOpen = true;
            GA_Hero _hero = PlayerDatas.Instance.hero;
            if (_hero != null)
            if (NpcConfig.NPCID != GeneralDefine.GatherSoulDZ)
            {
                float _distSqrt = MathUtility.DistanceSqrtXZ(_hero.Pos, Pos);
                GA_Hero _hero = PlayerDatas.Instance.hero;
                if (_distSqrt < Mathf.Pow(NpcConfig.ModelRadius + 0.4f + GeneralDefine.CloseNpcDist, 2))
                if (_hero != null)
                {
                    Arrive();
                    float _distSqrt = MathUtility.DistanceSqrtXZ(_hero.Pos, Pos);
                    if (_distSqrt < Mathf.Pow(NpcConfig.ModelRadius + 0.4f + GeneralDefine.CloseNpcDist, 2))
                    {
                        Arrive();
                    }
                }
            }
        }
@@ -242,25 +263,28 @@
            return;
        }
        GA_Hero _hero = PlayerDatas.Instance.hero;
        if (_hero != null)
        if (NpcConfig.NPCID != GeneralDefine.GatherSoulDZ)
        {
            float _distSqrt = MathUtility.DistanceSqrtXZ(_hero.Pos, Pos);
            GA_Hero _hero = PlayerDatas.Instance.hero;
            if (_distSqrt < Mathf.Pow(NpcConfig.ModelRadius + 0.4f + GeneralDefine.CloseNpcDist, 2))
            if (_hero != null)
            {
                Arrive();
            }
            else
            {
                if (m_ArrivedList.Contains(ServerInstID))
                float _distSqrt = MathUtility.DistanceSqrtXZ(_hero.Pos, Pos);
                if (_distSqrt < Mathf.Pow(NpcConfig.ModelRadius + 0.4f + GeneralDefine.CloseNpcDist, 2))
                {
                    if (OnLeave != null)
                    Arrive();
                }
                else
                {
                    if (m_ArrivedList.Contains(ServerInstID))
                    {
                        OnLeave(ServerInstID, NpcConfig.NPCID);
                        if (OnLeave != null)
                        {
                            OnLeave(ServerInstID, NpcConfig.NPCID);
                        }
                        m_ArrivedList.Remove(ServerInstID);
                    }
                    m_ArrivedList.Remove(ServerInstID);
                }
            }
        }
@@ -298,6 +322,28 @@
        }
    }
    protected override void HandleOnClick()
    {
        if (NpcConfig.NPCID != GeneralDefine.GatherSoulDZ)
        {
            base.HandleOnClick();
        }
        else
        {
            var _hero = PlayerDatas.Instance.hero;
            if (_hero != null)
            {
                float _distSqrt = MathUtility.DistanceSqrtXZ(_hero.Pos, Pos);
                if (_distSqrt < Mathf.Pow(NpcConfig.ModelRadius + 0.4f + GeneralDefine.CloseNpcDist, 2))
                {
                    Arrive();
                }
            }
        }
    }
    protected override void OnUnit()
    {
        if (m_ReplaceNpcID != -1)
Fight/GameActor/GA_NpcFightNorm.cs
@@ -57,7 +57,7 @@
        else
        {
            // 初始化坐标
            AdjustPos(_h0406.PosX, _h0406.PosY);
            AdjustPos(_h0406.PosX, _h0406.PosY,false);
        }
        GAStaticDefine.NPCLocation _npcLocation;
Fight/GameActor/GA_NpcFunc.cs
@@ -364,11 +364,24 @@
    public override void OnClick()
    {
        GA_Hero _hero = PlayerDatas.Instance.hero;
        _hero.LockTarget = this;
        _hero.SelectTarget = this;
        // 这里判断是否要走向此对象
        float _distSqrt = MathUtility.DistanceSqrtXZ(_hero.Pos, Pos);
        if (PlayerDatas.Instance.baseData.MapID != 31340)
        {
            _hero.LockTarget = this;
            _hero.SelectTarget = this;
        }
        else
        {
            if (_distSqrt < Mathf.Pow(GeneralDefine.CloseNpcDist + NpcConfig.ModelRadius + 0.4f, 2))
            {
                _hero.LockTarget = this;
                _hero.SelectTarget = this;
            }
        }
        if (_distSqrt > Mathf.Pow(GeneralDefine.CloseNpcDist + NpcConfig.ModelRadius + 0.4f, 2))
        {
            MapTransferUtility.Instance.MoveToNPC(NpcConfig.NPCID, (int)ServerInstID);
@@ -380,11 +393,14 @@
                Vector3 _forward = MathUtility.ForwardXZ(_hero.Pos, Pos);
                Forward = _forward;
            }
            if (NpcConfig.NPCID != GeneralDefine.GatherSoulDZ)
            {
                NPCInteractProcessor.InvokeEvent(E_NpcType.Func, NpcConfig.NPCID, ServerInstID);
            }
            HandleOnClick();
        }
    }
    protected virtual void HandleOnClick()
    {
        NPCInteractProcessor.InvokeEvent(E_NpcType.Func, NpcConfig.NPCID, ServerInstID);
    }
    protected override void OnLateUpdate() { }
@@ -488,7 +504,11 @@
        GA_Hero _hero = PlayerDatas.Instance.hero;
        Vector3 _forward = MathUtility.ForwardXZ(Pos, _hero.Pos);
        _hero.Forward = _forward;
        if (NpcConfig.NPCID != GeneralDefine.GatherSoulDZ)
        {
            _hero.Forward = _forward;
        }
        if (NpcConfig.AutomaticFace == 1)
        {
Fight/GameActor/GA_Pet.cs
@@ -40,13 +40,24 @@
        var _config = TableConfig.ModelResConfig.GetPetConfig(_modelName);
        if (_config != null)
        {
            var _dict = TableConfig.ModelResConfig.GetEffectDict(_modelName);
            if (_dict != null)
            var _boneList = TableConfig.ModelResConfig.GetBoneList(_modelName);
            var _effectlist = TableConfig.ModelResConfig.GetEffectList(_modelName);
            if (_boneList != null && _effectlist != null)
            {
                foreach (var _bone in _dict.Keys)
                for (int i = 0; i < _boneList.Count; ++i)
                {
                    var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_dict[_bone], m_Model.transform.GetChildTransformDeeply(_bone));
                    m_EffectList.Add(_ctrl);
                    if (_boneList[i].Equals("null"))
                    {
                        var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_effectlist[i], m_Model.transform);
                        m_EffectList.Add(_ctrl);
                    }
                    else
                    {
                        var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_effectlist[i], m_Model.transform.GetChildTransformDeeply(_boneList[i]));
                        m_EffectList.Add(_ctrl);
                    }
                }
            }
        }
Fight/GameActor/GA_Player.cs
@@ -465,6 +465,13 @@
        }
    }
    public override void ShowGodWeaponEffect()
    {
        SwitchGodWeapon(1, (int)m_H0434.ExAttr15);
        SwitchGodWeapon(2, (int)m_H0434.ExAttr16);
        SwitchGodWeapon(4, (int)m_H0434.ExAttr18);
    }
    public sealed override void RequestName()
    {
        ReleaseName();
Fight/GameActor/GActor.cs
@@ -32,9 +32,9 @@
            {
                m_Root.position = m_Pos;
            }
            //if (this is GA_Player)
            //if (this is GA_NpcFightNorm)
            //{
            //    Debug.Log("坐标改变....." + value);
            //    Debug.Log("坐标改变.....: " + value);
            //}
        }
    }
@@ -55,18 +55,20 @@
                    m_Root.rotation = m_Rotation;
                }
                // if (ServerInstID == PlayerDatas.Instance.PlayerId)
                // {
                //     System.Diagnostics.StackTrace st = new System.Diagnostics.StackTrace();
                //     System.Diagnostics.StackFrame[] sfs = st.GetFrames();
                //     string _content = "";
                //     for (int u = 0; u < sfs.Length; ++u)
                //     {
                //         System.Reflection.MethodBase mb = sfs[u].GetMethod();
                //         _content += string.Format("[CALL STACK][{0}]: {1}.{2}\r\n", u, mb.DeclaringType.FullName, mb.Name);
                //     }
                //     Debug.Log(_content);
                // }
                if (ServerInstID == PlayerDatas.Instance.PlayerId)
                {
                    //System.Diagnostics.StackTrace st = new System.Diagnostics.StackTrace();
                    //System.Diagnostics.StackFrame[] sfs = st.GetFrames();
                    //string _content = "";
                    //for (int u = 0; u < sfs.Length; ++u)
                    //{
                    //    System.Reflection.MethodBase mb = sfs[u].GetMethod();
                    //    _content += string.Format("[CALL STACK][{0}]: {1}.{2}\r\n", u, mb.DeclaringType.FullName, mb.Name);
                    //}
                    //Debug.Log(_content);
                //Debug.Log("转向了.......: " + m_Forward);
                }
            }
        }
    }
@@ -624,13 +626,11 @@
    /// <param name="sPosY">服务端坐标Y</param>
    public void AdjustPos(ushort sPosX, ushort sPosY, bool chkNavmesh = true)
    {
        //Debug.LogFormat("sPosX: {0} - MapOffsetX: {1} = {2}", sPosX, GA_Hero.MapOffset.x, sPosX - (ushort)GA_Hero.MapOffset.x);
        //Debug.LogFormat("sPosY: {0} - MapOffsetY: {1} = {2}", sPosY, GA_Hero.MapOffset.z, sPosY - (ushort)GA_Hero.MapOffset.z);
        sPosX -= (ushort)GA_Hero.MapOffset.x;
        sPosY -= (ushort)GA_Hero.MapOffset.z;
        Vector3 _clntPos = new Vector3(sPosX * .5f, 0, sPosY * .5f);
        Vector3 _adjustPos = Vector3.zero;
        if (!chkNavmesh)
Fight/GameActor/GActorPlayerBase.cs
@@ -230,6 +230,8 @@
        GameObject _prefab = null;
        HideWeaponEffect();
        HideSecondaryEffect();
        HideHorseEffect();
        if (m_HorseModel)
@@ -597,6 +599,8 @@
        MP_Weapon = m_WeaponModel.transform;
        RequestShadow();
        ShowWeaponEffect();
    }
    public void SwitchSecondary(uint itemID)
@@ -704,6 +708,8 @@
        OnPutonSecondary(SecondaryID, m_SecondaryModel);
        RequestShadow();
        ShowSecondaryEffect();
    }
    public void SwitchWing(uint itemID)
@@ -1389,6 +1395,26 @@
    }
    private List<SFXController> m_HorseEffectList = new List<SFXController>();
    private List<SFXController> m_WeaponEffectList = new List<SFXController>();
    private List<SFXController> m_SecondaryEffectList = new List<SFXController>();
    public void HideSecondaryEffect()
    {
        foreach (var _ctrl in m_SecondaryEffectList)
        {
            SFXPlayUtility.Instance.Release(_ctrl);
        }
        m_SecondaryEffectList.Clear();
    }
    public void HideWeaponEffect()
    {
        foreach (var _ctrl in m_WeaponEffectList)
        {
            SFXPlayUtility.Instance.Release(_ctrl);
        }
        m_WeaponEffectList.Clear();
    }
    public void HideHorseEffect()
    {
@@ -1399,10 +1425,92 @@
        m_HorseEffectList.Clear();
    }
    public void ShowSecondaryEffect()
    {
        HideSecondaryEffect();
        if (SecondaryID <= 0)
        {
            return;
        }
        var _itemConfig = Config.Instance.Get<ItemConfig>((int)SecondaryID);
        if (_itemConfig != null)
        {
            return;
        }
        var _config = Config.Instance.Get<ModelResConfig>(_itemConfig.ChangeOrd);
        if (_config == null)
        {
            Debug.LogError("找不到配置ModelResConfig: " + _itemConfig.ChangeOrd);
            return;
        }
        var _boneList = ModelResConfig.GetBoneList(_config.ResourcesName);
        var _effectlist = ModelResConfig.GetEffectList(_config.ResourcesName);
        if (_boneList != null && _effectlist != null)
        {
            for (int i = 0; i < _boneList.Count; ++i)
            {
                if (_boneList[i].Equals("null"))
                {
                    var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_effectlist[i], m_SecondaryModel.transform);
                    m_SecondaryEffectList.Add(_ctrl);
                }
                else
                {
                    var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_effectlist[i], m_SecondaryModel.transform.GetChildTransformDeeply(_boneList[i]));
                    m_SecondaryEffectList.Add(_ctrl);
                }
            }
        }
    }
    public void ShowWeaponEffect()
    {
        HideWeaponEffect();
        if (WeaponItemID <= 0)
        {
            return;
        }
        var _itemConfig = Config.Instance.Get<ItemConfig>((int)WeaponItemID);
        if (_itemConfig != null)
        {
            return;
        }
        var _config = Config.Instance.Get<ModelResConfig>(_itemConfig.ChangeOrd);
        if (_config == null)
        {
            Debug.LogError("找不到配置ModelResConfig: " + _itemConfig.ChangeOrd);
            return;
        }
        var _boneList = ModelResConfig.GetBoneList(_config.ResourcesName);
        var _effectlist = ModelResConfig.GetEffectList(_config.ResourcesName);
        if (_boneList != null && _effectlist != null)
        {
            for (int i = 0; i < _boneList.Count; ++i)
            {
                if (_boneList[i].Equals("null"))
                {
                    var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_effectlist[i], m_WeaponModel.transform);
                    m_WeaponEffectList.Add(_ctrl);
                }
                else
                {
                    var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_effectlist[i], m_WeaponModel.transform.GetChildTransformDeeply(_boneList[i]));
                    m_WeaponEffectList.Add(_ctrl);
                }
            }
        }
    }
    public void ShowHorseEffect()
    {
        HideHorseEffect();
        if(HorseID <= 0)
        if (HorseID <= 0)
        {
            return;
        }
@@ -1418,13 +1526,25 @@
            Debug.LogError("找不到配置ModelResConfig: " + _horseConfig.Model);
            return;
        }
        var _dict = ModelResConfig.GetEffectDict(_config.ResourcesName);
        if (_dict != null)
        var _boneList = ModelResConfig.GetBoneList(_config.ResourcesName);
        var _effectlist = ModelResConfig.GetEffectList(_config.ResourcesName);
        if (_boneList != null && _effectlist != null)
        {
            foreach (var _bone in _dict.Keys)
            for (int i = 0; i < _boneList.Count; ++i)
            {
                var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_dict[_bone], m_HorseModel.transform.GetChildTransformDeeply(_bone));
                m_HorseEffectList.Add(_ctrl);
                if (_boneList[i].Equals("null"))
                {
                    var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_effectlist[i], m_HorseModel.transform);
                    m_HorseEffectList.Add(_ctrl);
                }
                else
                {
                    var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_effectlist[i], m_HorseModel.transform.GetChildTransformDeeply(_boneList[i]));
                    m_HorseEffectList.Add(_ctrl);
                }
            }
        }
    }
@@ -2456,6 +2576,15 @@
    private Dictionary<int, SFXController> m_GodWeaponEffectDict = new Dictionary<int, SFXController>();
    public virtual void ShowGodWeaponEffect() { }
    public void HideGodWeaponEffect()
    {
        SwitchGodWeapon(1, 0);
        SwitchGodWeapon(2, 0);
        SwitchGodWeapon(4, 0);
    }
    public void SwitchGodWeapon(int type, int level)
    {
        bool _showOrHide = true;
Fight/GameActor/PartialModelResConfig.cs
@@ -8,7 +8,8 @@
        private static readonly Dictionary<string, ModelResConfig> suitDict = new Dictionary<string, ModelResConfig>();
        private static readonly Dictionary<string, ModelResConfig> petDict = new Dictionary<string, ModelResConfig>();
        private static readonly Dictionary<string, ModelResConfig> horseDict = new Dictionary<string, ModelResConfig>();
        private static readonly Dictionary<string, Dictionary<string, int>> effectDict = new Dictionary<string, Dictionary<string, int>>();
        private static readonly Dictionary<string, List<string>> effectBoneDict = new Dictionary<string, List<string>>();
        private static readonly Dictionary<string, List<int>> effectEffectDict = new Dictionary<string, List<int>>();
        public void OnConfigParseCompleted()
        {
@@ -44,25 +45,44 @@
                        Debug.LogWarningFormat("{0} 绑定骨骼的数量和特效的数量无法对应 {1} != {2}", ID, _bones.Length, _effects.Length);
                    }
                    var _dict = new Dictionary<string, int>();
                    var _boneList = new List<string>();
                    var _effectList = new List<int>();
                    for (int i = 0; i < _bones.Length && i < _effects.Length; ++i)
                    for (int i = 0; i < _effects.Length; ++i)
                    {
                        _dict[_bones[i]] = int.Parse(_effects[i]);
                        if (i < _bones.Length)
                        {
                            _boneList.Add(_bones[i]);
                        }
                        else
                        {
                            _boneList.Add("null");
                        }
                        _effectList.Add(int.Parse(_effects[i]));
                        // Debug.LogFormat("设置特效配置: {0} => {1}", _bones[i], _dict[_bones[i]]);
                    }
                    effectDict[ResourcesName] = _dict;
                    effectBoneDict[ResourcesName] = _boneList;
                    effectEffectDict[ResourcesName] = _effectList;
                }
            }
        }
        public static Dictionary<string, int> GetEffectDict(string name)
        public static List<string> GetBoneList(string name)
        {
            if (effectDict.ContainsKey(name))
            if (effectBoneDict.ContainsKey(name))
            {
                return effectDict[name];
                return effectBoneDict[name];
            }
            return null;
        }
        public static List<int> GetEffectList(string name)
        {
            if (effectEffectDict.ContainsKey(name))
            {
                return effectEffectDict[name];
            }
            return null;
        }
Lua/Gen/SnxxzUIFairyFeastModelWrap.cs
@@ -21,25 +21,33 @@
        {
            ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
            System.Type type = typeof(Snxxz.UI.FairyFeastModel);
            Utils.BeginObjectRegister(type, L, translator, 0, 7, 6, 0);
            Utils.BeginObjectRegister(type, L, translator, 0, 10, 8, 3);
            
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "Init", _m_Init);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "UnInit", _m_UnInit);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnBeforePlayerDataInitialize", _m_OnBeforePlayerDataInitialize);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "Transmit", _m_Transmit);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "TryGetQuestionTime", _m_TryGetQuestionTime);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnReceiveHelpMessage", _m_OnReceiveHelpMessage);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "ResetHelpMessage", _m_ResetHelpMessage);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "UpdateTransmitState", _m_UpdateTransmitState);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "TransmitComplete", _m_TransmitComplete);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "Transmit", _m_Transmit);
            
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "selectTransmit", _e_selectTransmit);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "transmitStateUpdate", _e_transmitStateUpdate);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "fairyFeastPlayerUpdate", _e_fairyFeastPlayerUpdate);
            
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "selectPlayer", _g_get_selectPlayer);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "allowTransmit", _g_get_allowTransmit);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "nearNpc", _g_get_nearNpc);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "transmitCostSeconds", _g_get_transmitCostSeconds);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "transmitCompleteTime", _g_get_transmitCompleteTime);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "transmiting", _g_get_transmiting);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "transmitCostSeconds", _g_get_transmitCostSeconds);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "riseLevel", _g_get_riseLevel);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "expFlyStage", _g_get_expFlyStage);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "expFlyCount", _g_get_expFlyCount);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "totalExp", _g_get_totalExp);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "fairyFeastPlayers", _g_get_fairyFeastPlayers);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "displayFairyMembers", _g_get_displayFairyMembers);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "transmitPlayer", _g_get_transmitPlayer);
            
            Utils.RegisterFunc(L, Utils.SETTER_IDX, "fairyFeastPlayers", _s_set_fairyFeastPlayers);
            Utils.RegisterFunc(L, Utils.SETTER_IDX, "displayFairyMembers", _s_set_displayFairyMembers);
            Utils.RegisterFunc(L, Utils.SETTER_IDX, "transmitPlayer", _s_set_transmitPlayer);
            
            Utils.EndObjectRegister(type, L, translator, null, null,
                null, null, null);
@@ -166,7 +174,66 @@
        }
        
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_Transmit(RealStatePtr L)
        static int _m_TryGetQuestionTime(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.FairyFeastModel gen_to_be_invoked = (Snxxz.UI.FairyFeastModel)translator.FastGetCSObj(L, 1);
                {
                    HourMinute _time;
                        bool gen_ret = gen_to_be_invoked.TryGetQuestionTime( out _time );
                        LuaAPI.lua_pushboolean(L, gen_ret);
                    translator.Push(L, _time);
                    return 2;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_OnReceiveHelpMessage(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.FairyFeastModel gen_to_be_invoked = (Snxxz.UI.FairyFeastModel)translator.FastGetCSObj(L, 1);
                {
                    string __mission = LuaAPI.lua_tostring(L, 2);
                    gen_to_be_invoked.OnReceiveHelpMessage( __mission );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_ResetHelpMessage(RealStatePtr L)
        {
            try {
            
@@ -179,7 +246,7 @@
                
                {
                    
                    gen_to_be_invoked.Transmit(  );
                    gen_to_be_invoked.ResetHelpMessage(  );
                    
                    
                    
@@ -220,50 +287,63 @@
            
        }
        
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_selectPlayer(RealStatePtr L)
        static int _m_TransmitComplete(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.FairyFeastModel gen_to_be_invoked = (Snxxz.UI.FairyFeastModel)translator.FastGetCSObj(L, 1);
                LuaAPI.xlua_pushuint(L, gen_to_be_invoked.selectPlayer);
                {
                    gen_to_be_invoked.TransmitComplete(  );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_allowTransmit(RealStatePtr L)
        static int _m_Transmit(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.FairyFeastModel gen_to_be_invoked = (Snxxz.UI.FairyFeastModel)translator.FastGetCSObj(L, 1);
                LuaAPI.lua_pushboolean(L, gen_to_be_invoked.allowTransmit);
                {
                    PlayerFairyData.FairyMember _fairyMember = (PlayerFairyData.FairyMember)translator.GetObject(L, 2, typeof(PlayerFairyData.FairyMember));
                    gen_to_be_invoked.Transmit( _fairyMember );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_nearNpc(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.FairyFeastModel gen_to_be_invoked = (Snxxz.UI.FairyFeastModel)translator.FastGetCSObj(L, 1);
                LuaAPI.lua_pushboolean(L, gen_to_be_invoked.nearNpc);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_transmitCostSeconds(RealStatePtr L)
@@ -280,13 +360,13 @@
        }
        
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_transmitCompleteTime(RealStatePtr L)
        static int _g_get_riseLevel(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
            
                Snxxz.UI.FairyFeastModel gen_to_be_invoked = (Snxxz.UI.FairyFeastModel)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.transmitCompleteTime);
                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.riseLevel);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
@@ -294,13 +374,83 @@
        }
        
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_transmiting(RealStatePtr L)
        static int _g_get_expFlyStage(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
            
                Snxxz.UI.FairyFeastModel gen_to_be_invoked = (Snxxz.UI.FairyFeastModel)translator.FastGetCSObj(L, 1);
                LuaAPI.lua_pushboolean(L, gen_to_be_invoked.transmiting);
                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.expFlyStage);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_expFlyCount(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.FairyFeastModel gen_to_be_invoked = (Snxxz.UI.FairyFeastModel)translator.FastGetCSObj(L, 1);
                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.expFlyCount);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_totalExp(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.FairyFeastModel gen_to_be_invoked = (Snxxz.UI.FairyFeastModel)translator.FastGetCSObj(L, 1);
                LuaAPI.lua_pushuint64(L, gen_to_be_invoked.totalExp);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_fairyFeastPlayers(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.FairyFeastModel gen_to_be_invoked = (Snxxz.UI.FairyFeastModel)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.fairyFeastPlayers);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_displayFairyMembers(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.FairyFeastModel gen_to_be_invoked = (Snxxz.UI.FairyFeastModel)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.displayFairyMembers);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_transmitPlayer(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.FairyFeastModel gen_to_be_invoked = (Snxxz.UI.FairyFeastModel)translator.FastGetCSObj(L, 1);
                LuaAPI.xlua_pushuint(L, gen_to_be_invoked.transmitPlayer);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
@@ -309,44 +459,55 @@
        
        
        
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _e_selectTransmit(RealStatePtr L)
        static int _s_set_fairyFeastPlayers(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                int gen_param_count = LuaAPI.lua_gettop(L);
            Snxxz.UI.FairyFeastModel gen_to_be_invoked = (Snxxz.UI.FairyFeastModel)translator.FastGetCSObj(L, 1);
                System.Action gen_delegate = translator.GetDelegate<System.Action>(L, 3);
                if (gen_delegate == null) {
                    return LuaAPI.luaL_error(L, "#3 need System.Action!");
                }
                if (gen_param_count == 3)
                {
                    if (LuaAPI.xlua_is_eq_str(L, 2, "+")) {
                        gen_to_be_invoked.selectTransmit += gen_delegate;
                        return 0;
                    }
                    if (LuaAPI.xlua_is_eq_str(L, 2, "-")) {
                        gen_to_be_invoked.selectTransmit -= gen_delegate;
                        return 0;
                    }
                }
            } catch(System.Exception gen_e) {
                Snxxz.UI.FairyFeastModel gen_to_be_invoked = (Snxxz.UI.FairyFeastModel)translator.FastGetCSObj(L, 1);
                gen_to_be_invoked.fairyFeastPlayers = (System.Collections.Generic.List<uint>)translator.GetObject(L, 2, typeof(System.Collections.Generic.List<uint>));
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            LuaAPI.luaL_error(L, "invalid arguments to Snxxz.UI.FairyFeastModel.selectTransmit!");
            return 0;
        }
        
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _e_transmitStateUpdate(RealStatePtr L)
        static int _s_set_displayFairyMembers(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.FairyFeastModel gen_to_be_invoked = (Snxxz.UI.FairyFeastModel)translator.FastGetCSObj(L, 1);
                gen_to_be_invoked.displayFairyMembers = (System.Collections.Generic.List<PlayerFairyData.FairyMember>)translator.GetObject(L, 2, typeof(System.Collections.Generic.List<PlayerFairyData.FairyMember>));
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 0;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _s_set_transmitPlayer(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.FairyFeastModel gen_to_be_invoked = (Snxxz.UI.FairyFeastModel)translator.FastGetCSObj(L, 1);
                gen_to_be_invoked.transmitPlayer = LuaAPI.xlua_touint(L, 2);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 0;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _e_fairyFeastPlayerUpdate(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
@@ -361,13 +522,13 @@
                {
                    
                    if (LuaAPI.xlua_is_eq_str(L, 2, "+")) {
                        gen_to_be_invoked.transmitStateUpdate += gen_delegate;
                        gen_to_be_invoked.fairyFeastPlayerUpdate += gen_delegate;
                        return 0;
                    } 
                    
                    
                    if (LuaAPI.xlua_is_eq_str(L, 2, "-")) {
                        gen_to_be_invoked.transmitStateUpdate -= gen_delegate;
                        gen_to_be_invoked.fairyFeastPlayerUpdate -= gen_delegate;
                        return 0;
                    } 
                    
@@ -375,7 +536,7 @@
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            LuaAPI.luaL_error(L, "invalid arguments to Snxxz.UI.FairyFeastModel.transmitStateUpdate!");
            LuaAPI.luaL_error(L, "invalid arguments to Snxxz.UI.FairyFeastModel.fairyFeastPlayerUpdate!");
            return 0;
        }
        
Lua/Gen/SnxxzUIFairyFeastModelWrap.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 51573ab69b1ccd14ebcc180adc6f8127
timeCreated: 1545203729
guid: be8d50f77163c474e87085de3f1b70d5
timeCreated: 1545467172
licenseType: Pro
MonoImporter:
  serializedVersion: 2
Lua/Gen/SnxxzUIGatherSoulComposeModelWrap.cs
New file
@@ -0,0 +1,457 @@
#if USE_UNI_LUA
using LuaAPI = UniLua.Lua;
using RealStatePtr = UniLua.ILuaState;
using LuaCSFunction = UniLua.CSharpFunctionDelegate;
#else
using LuaAPI = XLua.LuaDLL.Lua;
using RealStatePtr = System.IntPtr;
using LuaCSFunction = XLua.LuaDLL.lua_CSFunction;
#endif
using XLua;
using System.Collections.Generic;
namespace XLua.CSObjectWrap
{
    using Utils = XLua.Utils;
    public class SnxxzUIGatherSoulComposeModelWrap
    {
        public static void __Register(RealStatePtr L)
        {
            ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
            System.Type type = typeof(Snxxz.UI.GatherSoulComposeModel);
            Utils.BeginObjectRegister(type, L, translator, 0, 8, 5, 3);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "Init", _m_Init);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnBeforePlayerDataInitialize", _m_OnBeforePlayerDataInitialize);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnPlayerLoginOk", _m_OnPlayerLoginOk);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "UnInit", _m_UnInit);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "ExistInComposeMat", _m_ExistInComposeMat);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "TryGetCompose", _m_TryGetCompose);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "onSelectComposeItemChange", _e_onSelectComposeItemChange);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "onSelectCategoryChange", _e_onSelectCategoryChange);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "composeCategories", _g_get_composeCategories);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "categoryDict", _g_get_categoryDict);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "selectCategory", _g_get_selectCategory);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "selectItemId", _g_get_selectItemId);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "jumpGatherSoulItem", _g_get_jumpGatherSoulItem);
            Utils.RegisterFunc(L, Utils.SETTER_IDX, "selectCategory", _s_set_selectCategory);
            Utils.RegisterFunc(L, Utils.SETTER_IDX, "selectItemId", _s_set_selectItemId);
            Utils.RegisterFunc(L, Utils.SETTER_IDX, "jumpGatherSoulItem", _s_set_jumpGatherSoulItem);
            Utils.EndObjectRegister(type, L, translator, null, null,
                null, null, null);
            Utils.BeginClassRegister(type, L, __CreateInstance, 1, 0, 0);
            Utils.EndClassRegister(type, L, translator);
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int __CreateInstance(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                if(LuaAPI.lua_gettop(L) == 1)
                {
                    Snxxz.UI.GatherSoulComposeModel gen_ret = new Snxxz.UI.GatherSoulComposeModel();
                    translator.Push(L, gen_ret);
                    return 1;
                }
            }
            catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return LuaAPI.luaL_error(L, "invalid arguments to Snxxz.UI.GatherSoulComposeModel constructor!");
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_Init(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatherSoulComposeModel gen_to_be_invoked = (Snxxz.UI.GatherSoulComposeModel)translator.FastGetCSObj(L, 1);
                {
                    gen_to_be_invoked.Init(  );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_OnBeforePlayerDataInitialize(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatherSoulComposeModel gen_to_be_invoked = (Snxxz.UI.GatherSoulComposeModel)translator.FastGetCSObj(L, 1);
                {
                    gen_to_be_invoked.OnBeforePlayerDataInitialize(  );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_OnPlayerLoginOk(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatherSoulComposeModel gen_to_be_invoked = (Snxxz.UI.GatherSoulComposeModel)translator.FastGetCSObj(L, 1);
                {
                    gen_to_be_invoked.OnPlayerLoginOk(  );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_UnInit(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatherSoulComposeModel gen_to_be_invoked = (Snxxz.UI.GatherSoulComposeModel)translator.FastGetCSObj(L, 1);
                {
                    gen_to_be_invoked.UnInit(  );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_ExistInComposeMat(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatherSoulComposeModel gen_to_be_invoked = (Snxxz.UI.GatherSoulComposeModel)translator.FastGetCSObj(L, 1);
                {
                    int _itemId = LuaAPI.xlua_tointeger(L, 2);
                    Snxxz.UI.GatherSoulComposeModel.Compose _outCompose;
                        bool gen_ret = gen_to_be_invoked.ExistInComposeMat( _itemId, out _outCompose );
                        LuaAPI.lua_pushboolean(L, gen_ret);
                    translator.Push(L, _outCompose);
                    return 2;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_TryGetCompose(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatherSoulComposeModel gen_to_be_invoked = (Snxxz.UI.GatherSoulComposeModel)translator.FastGetCSObj(L, 1);
                {
                    int _itemId = LuaAPI.xlua_tointeger(L, 2);
                    Snxxz.UI.GatherSoulComposeModel.Compose _compose;
                        bool gen_ret = gen_to_be_invoked.TryGetCompose( _itemId, out _compose );
                        LuaAPI.lua_pushboolean(L, gen_ret);
                    translator.Push(L, _compose);
                    return 2;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_composeCategories(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatherSoulComposeModel gen_to_be_invoked = (Snxxz.UI.GatherSoulComposeModel)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.composeCategories);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_categoryDict(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatherSoulComposeModel gen_to_be_invoked = (Snxxz.UI.GatherSoulComposeModel)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.categoryDict);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_selectCategory(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatherSoulComposeModel gen_to_be_invoked = (Snxxz.UI.GatherSoulComposeModel)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.selectCategory);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_selectItemId(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatherSoulComposeModel gen_to_be_invoked = (Snxxz.UI.GatherSoulComposeModel)translator.FastGetCSObj(L, 1);
                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.selectItemId);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_jumpGatherSoulItem(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatherSoulComposeModel gen_to_be_invoked = (Snxxz.UI.GatherSoulComposeModel)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.jumpGatherSoulItem);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _s_set_selectCategory(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatherSoulComposeModel gen_to_be_invoked = (Snxxz.UI.GatherSoulComposeModel)translator.FastGetCSObj(L, 1);
                Snxxz.UI.GatherSoulComposeModel.ComposeCategory gen_value;translator.Get(L, 2, out gen_value);
                gen_to_be_invoked.selectCategory = gen_value;
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 0;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _s_set_selectItemId(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatherSoulComposeModel gen_to_be_invoked = (Snxxz.UI.GatherSoulComposeModel)translator.FastGetCSObj(L, 1);
                gen_to_be_invoked.selectItemId = LuaAPI.xlua_tointeger(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_jumpGatherSoulItem(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatherSoulComposeModel gen_to_be_invoked = (Snxxz.UI.GatherSoulComposeModel)translator.FastGetCSObj(L, 1);
                Snxxz.UI.VirtualItem gen_value;translator.Get(L, 2, out gen_value);
                gen_to_be_invoked.jumpGatherSoulItem = gen_value;
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 0;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _e_onSelectComposeItemChange(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                int gen_param_count = LuaAPI.lua_gettop(L);
            Snxxz.UI.GatherSoulComposeModel gen_to_be_invoked = (Snxxz.UI.GatherSoulComposeModel)translator.FastGetCSObj(L, 1);
                System.Action gen_delegate = translator.GetDelegate<System.Action>(L, 3);
                if (gen_delegate == null) {
                    return LuaAPI.luaL_error(L, "#3 need System.Action!");
                }
                if (gen_param_count == 3)
                {
                    if (LuaAPI.xlua_is_eq_str(L, 2, "+")) {
                        gen_to_be_invoked.onSelectComposeItemChange += gen_delegate;
                        return 0;
                    }
                    if (LuaAPI.xlua_is_eq_str(L, 2, "-")) {
                        gen_to_be_invoked.onSelectComposeItemChange -= gen_delegate;
                        return 0;
                    }
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            LuaAPI.luaL_error(L, "invalid arguments to Snxxz.UI.GatherSoulComposeModel.onSelectComposeItemChange!");
            return 0;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _e_onSelectCategoryChange(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                int gen_param_count = LuaAPI.lua_gettop(L);
            Snxxz.UI.GatherSoulComposeModel gen_to_be_invoked = (Snxxz.UI.GatherSoulComposeModel)translator.FastGetCSObj(L, 1);
                System.Action gen_delegate = translator.GetDelegate<System.Action>(L, 3);
                if (gen_delegate == null) {
                    return LuaAPI.luaL_error(L, "#3 need System.Action!");
                }
                if (gen_param_count == 3)
                {
                    if (LuaAPI.xlua_is_eq_str(L, 2, "+")) {
                        gen_to_be_invoked.onSelectCategoryChange += gen_delegate;
                        return 0;
                    }
                    if (LuaAPI.xlua_is_eq_str(L, 2, "-")) {
                        gen_to_be_invoked.onSelectCategoryChange -= gen_delegate;
                        return 0;
                    }
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            LuaAPI.luaL_error(L, "invalid arguments to Snxxz.UI.GatherSoulComposeModel.onSelectCategoryChange!");
            return 0;
        }
    }
}
Lua/Gen/SnxxzUIGatherSoulComposeModelWrap.cs.meta
copy from System/FairyAu/FairyFeastBehaviour.cs.meta copy to Lua/Gen/SnxxzUIGatherSoulComposeModelWrap.cs.meta
File was copied from System/FairyAu/FairyFeastBehaviour.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 0e45b19a89d401543bc629f6e4b85599
timeCreated: 1529473535
guid: af7ad1f4610f163468d0ef98bd3e41d1
timeCreated: 1545467171
licenseType: Pro
MonoImporter:
  serializedVersion: 2
Lua/Gen/SnxxzUIGatherSoulDungeonModelWrap.cs
New file
@@ -0,0 +1,538 @@
#if USE_UNI_LUA
using LuaAPI = UniLua.Lua;
using RealStatePtr = UniLua.ILuaState;
using LuaCSFunction = UniLua.CSharpFunctionDelegate;
#else
using LuaAPI = XLua.LuaDLL.Lua;
using RealStatePtr = System.IntPtr;
using LuaCSFunction = XLua.LuaDLL.lua_CSFunction;
#endif
using XLua;
using System.Collections.Generic;
namespace XLua.CSObjectWrap
{
    using Utils = XLua.Utils;
    public class SnxxzUIGatherSoulDungeonModelWrap
    {
        public static void __Register(RealStatePtr L)
        {
            ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
            System.Type type = typeof(Snxxz.UI.GatherSoulDungeonModel);
            Utils.BeginObjectRegister(type, L, translator, 0, 10, 9, 1);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "Init", _m_Init);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnBeforePlayerDataInitialize", _m_OnBeforePlayerDataInitialize);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnPlayerLoginOk", _m_OnPlayerLoginOk);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "UnInit", _m_UnInit);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnReceiveDungeonMessage", _m_OnReceiveDungeonMessage);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "TryGetDungeonItems", _m_TryGetDungeonItems);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetDefendNpcCount", _m_GetDefendNpcCount);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "ResetDungeonMessage", _m_ResetDungeonMessage);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "missionHelpUpdate", _e_missionHelpUpdate);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "monsterAppearEvent", _e_monsterAppearEvent);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "mission", _g_get_mission);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "attckDefendNpcId", _g_get_attckDefendNpcId);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "iceDefendNpcId", _g_get_iceDefendNpcId);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "defendPointNpcId", _g_get_defendPointNpcId);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "attackDefendCountLimit", _g_get_attackDefendCountLimit);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "iceDefendCountLimit", _g_get_iceDefendCountLimit);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "generateBossCost", _g_get_generateBossCost);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "dungeonWeelCount", _g_get_dungeonWeelCount);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "clickGenerateMonster", _g_get_clickGenerateMonster);
            Utils.RegisterFunc(L, Utils.SETTER_IDX, "clickGenerateMonster", _s_set_clickGenerateMonster);
            Utils.EndObjectRegister(type, L, translator, null, null,
                null, null, null);
            Utils.BeginClassRegister(type, L, __CreateInstance, 2, 0, 0);
            Utils.RegisterObject(L, translator, Utils.CLS_IDX, "DUNGEON_MAPID", Snxxz.UI.GatherSoulDungeonModel.DUNGEON_MAPID);
            Utils.EndClassRegister(type, L, translator);
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int __CreateInstance(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                if(LuaAPI.lua_gettop(L) == 1)
                {
                    Snxxz.UI.GatherSoulDungeonModel gen_ret = new Snxxz.UI.GatherSoulDungeonModel();
                    translator.Push(L, gen_ret);
                    return 1;
                }
            }
            catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return LuaAPI.luaL_error(L, "invalid arguments to Snxxz.UI.GatherSoulDungeonModel constructor!");
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_Init(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatherSoulDungeonModel gen_to_be_invoked = (Snxxz.UI.GatherSoulDungeonModel)translator.FastGetCSObj(L, 1);
                {
                    gen_to_be_invoked.Init(  );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_OnBeforePlayerDataInitialize(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatherSoulDungeonModel gen_to_be_invoked = (Snxxz.UI.GatherSoulDungeonModel)translator.FastGetCSObj(L, 1);
                {
                    gen_to_be_invoked.OnBeforePlayerDataInitialize(  );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_OnPlayerLoginOk(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatherSoulDungeonModel gen_to_be_invoked = (Snxxz.UI.GatherSoulDungeonModel)translator.FastGetCSObj(L, 1);
                {
                    gen_to_be_invoked.OnPlayerLoginOk(  );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_UnInit(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatherSoulDungeonModel gen_to_be_invoked = (Snxxz.UI.GatherSoulDungeonModel)translator.FastGetCSObj(L, 1);
                {
                    gen_to_be_invoked.UnInit(  );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_OnReceiveDungeonMessage(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatherSoulDungeonModel gen_to_be_invoked = (Snxxz.UI.GatherSoulDungeonModel)translator.FastGetCSObj(L, 1);
                {
                    string __mission = LuaAPI.lua_tostring(L, 2);
                    gen_to_be_invoked.OnReceiveDungeonMessage( __mission );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_TryGetDungeonItems(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatherSoulDungeonModel gen_to_be_invoked = (Snxxz.UI.GatherSoulDungeonModel)translator.FastGetCSObj(L, 1);
                {
                    int _weel = LuaAPI.xlua_tointeger(L, 2);
                    System.Collections.Generic.List<Snxxz.UI.GatherSoulDungeonModel.ItemInfo> _list;
                        bool gen_ret = gen_to_be_invoked.TryGetDungeonItems( _weel, out _list );
                        LuaAPI.lua_pushboolean(L, gen_ret);
                    translator.Push(L, _list);
                    return 2;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_GetDefendNpcCount(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatherSoulDungeonModel gen_to_be_invoked = (Snxxz.UI.GatherSoulDungeonModel)translator.FastGetCSObj(L, 1);
                {
                    int _npcId = LuaAPI.xlua_tointeger(L, 2);
                        int gen_ret = gen_to_be_invoked.GetDefendNpcCount( _npcId );
                        LuaAPI.xlua_pushinteger(L, gen_ret);
                    return 1;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_ResetDungeonMessage(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatherSoulDungeonModel gen_to_be_invoked = (Snxxz.UI.GatherSoulDungeonModel)translator.FastGetCSObj(L, 1);
                {
                    gen_to_be_invoked.ResetDungeonMessage(  );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_mission(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatherSoulDungeonModel gen_to_be_invoked = (Snxxz.UI.GatherSoulDungeonModel)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.mission);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_attckDefendNpcId(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatherSoulDungeonModel gen_to_be_invoked = (Snxxz.UI.GatherSoulDungeonModel)translator.FastGetCSObj(L, 1);
                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.attckDefendNpcId);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_iceDefendNpcId(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatherSoulDungeonModel gen_to_be_invoked = (Snxxz.UI.GatherSoulDungeonModel)translator.FastGetCSObj(L, 1);
                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.iceDefendNpcId);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_defendPointNpcId(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatherSoulDungeonModel gen_to_be_invoked = (Snxxz.UI.GatherSoulDungeonModel)translator.FastGetCSObj(L, 1);
                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.defendPointNpcId);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_attackDefendCountLimit(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatherSoulDungeonModel gen_to_be_invoked = (Snxxz.UI.GatherSoulDungeonModel)translator.FastGetCSObj(L, 1);
                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.attackDefendCountLimit);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_iceDefendCountLimit(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatherSoulDungeonModel gen_to_be_invoked = (Snxxz.UI.GatherSoulDungeonModel)translator.FastGetCSObj(L, 1);
                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.iceDefendCountLimit);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_generateBossCost(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatherSoulDungeonModel gen_to_be_invoked = (Snxxz.UI.GatherSoulDungeonModel)translator.FastGetCSObj(L, 1);
                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.generateBossCost);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_dungeonWeelCount(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatherSoulDungeonModel gen_to_be_invoked = (Snxxz.UI.GatherSoulDungeonModel)translator.FastGetCSObj(L, 1);
                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.dungeonWeelCount);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_clickGenerateMonster(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatherSoulDungeonModel gen_to_be_invoked = (Snxxz.UI.GatherSoulDungeonModel)translator.FastGetCSObj(L, 1);
                LuaAPI.lua_pushboolean(L, gen_to_be_invoked.clickGenerateMonster);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _s_set_clickGenerateMonster(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatherSoulDungeonModel gen_to_be_invoked = (Snxxz.UI.GatherSoulDungeonModel)translator.FastGetCSObj(L, 1);
                gen_to_be_invoked.clickGenerateMonster = LuaAPI.lua_toboolean(L, 2);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 0;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _e_missionHelpUpdate(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                int gen_param_count = LuaAPI.lua_gettop(L);
            Snxxz.UI.GatherSoulDungeonModel gen_to_be_invoked = (Snxxz.UI.GatherSoulDungeonModel)translator.FastGetCSObj(L, 1);
                System.Action gen_delegate = translator.GetDelegate<System.Action>(L, 3);
                if (gen_delegate == null) {
                    return LuaAPI.luaL_error(L, "#3 need System.Action!");
                }
                if (gen_param_count == 3)
                {
                    if (LuaAPI.xlua_is_eq_str(L, 2, "+")) {
                        gen_to_be_invoked.missionHelpUpdate += gen_delegate;
                        return 0;
                    }
                    if (LuaAPI.xlua_is_eq_str(L, 2, "-")) {
                        gen_to_be_invoked.missionHelpUpdate -= gen_delegate;
                        return 0;
                    }
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            LuaAPI.luaL_error(L, "invalid arguments to Snxxz.UI.GatherSoulDungeonModel.missionHelpUpdate!");
            return 0;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _e_monsterAppearEvent(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                int gen_param_count = LuaAPI.lua_gettop(L);
            Snxxz.UI.GatherSoulDungeonModel gen_to_be_invoked = (Snxxz.UI.GatherSoulDungeonModel)translator.FastGetCSObj(L, 1);
                System.Action gen_delegate = translator.GetDelegate<System.Action>(L, 3);
                if (gen_delegate == null) {
                    return LuaAPI.luaL_error(L, "#3 need System.Action!");
                }
                if (gen_param_count == 3)
                {
                    if (LuaAPI.xlua_is_eq_str(L, 2, "+")) {
                        gen_to_be_invoked.monsterAppearEvent += gen_delegate;
                        return 0;
                    }
                    if (LuaAPI.xlua_is_eq_str(L, 2, "-")) {
                        gen_to_be_invoked.monsterAppearEvent -= gen_delegate;
                        return 0;
                    }
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            LuaAPI.luaL_error(L, "invalid arguments to Snxxz.UI.GatherSoulDungeonModel.monsterAppearEvent!");
            return 0;
        }
    }
}
Lua/Gen/SnxxzUIGatherSoulDungeonModelWrap.cs.meta
File was renamed from System/FairyAu/FairyFeastBehaviour.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 0e45b19a89d401543bc629f6e4b85599
timeCreated: 1529473535
guid: 4bb6ba11ec72d0c40a23cb3971cf2094
timeCreated: 1545467166
licenseType: Pro
MonoImporter:
  serializedVersion: 2
Lua/Gen/SnxxzUIGatheringSoulModelWrap.cs
New file
@@ -0,0 +1,1828 @@
#if USE_UNI_LUA
using LuaAPI = UniLua.Lua;
using RealStatePtr = UniLua.ILuaState;
using LuaCSFunction = UniLua.CSharpFunctionDelegate;
#else
using LuaAPI = XLua.LuaDLL.Lua;
using RealStatePtr = System.IntPtr;
using LuaCSFunction = XLua.LuaDLL.lua_CSFunction;
#endif
using XLua;
using System.Collections.Generic;
namespace XLua.CSObjectWrap
{
    using Utils = XLua.Utils;
    public class SnxxzUIGatheringSoulModelWrap
    {
        public static void __Register(RealStatePtr L)
        {
            ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
            System.Type type = typeof(Snxxz.UI.GatheringSoulModel);
            Utils.BeginObjectRegister(type, L, translator, 0, 42, 15, 4);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "Init", _m_Init);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnBeforePlayerDataInitialize", _m_OnBeforePlayerDataInitialize);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnPlayerLoginOk", _m_OnPlayerLoginOk);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "UnInit", _m_UnInit);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetPropertyHighestSort", _m_GetPropertyHighestSort);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "RefreshGatherSoulPack", _m_RefreshGatherSoulPack);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "ExistEmptyHole", _m_ExistEmptyHole);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnReceiveServerPack", _m_OnReceiveServerPack);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "ContainsEquipSoul", _m_ContainsEquipSoul);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "TryGetSatisfyEquipSouls", _m_TryGetSatisfyEquipSouls);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "IsHoleUnlock", _m_IsHoleUnlock);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "SatisfyEquipSoul", _m_SatisfyEquipSoul);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "SatisfyReplace", _m_SatisfyReplace);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "SatisfyLevelUp", _m_SatisfyLevelUp);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "DisplayLevelUpError", _m_DisplayLevelUpError);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "IsSamePropertyCompareHoles", _m_IsSamePropertyCompareHoles);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "IsSamePropertyCompareHole", _m_IsSamePropertyCompareHole);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "IsGatherSoulMaxLevel", _m_IsGatherSoulMaxLevel);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "IsBestSoul", _m_IsBestSoul);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "HandleSoulTipFunc", _m_HandleSoulTipFunc);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "ExecuteResolve", _m_ExecuteResolve);
            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, "ExecutePutOffSoul", _m_ExecutePutOffSoul);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "CheckExist", _m_CheckExist);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "TryGetHoleCondition", _m_TryGetHoleCondition);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "TryGetItem", _m_TryGetItem);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "TryGetHighestLevelItem", _m_TryGetHighestLevelItem);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "TryGetSinglePropertyItems", _m_TryGetSinglePropertyItems);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "CommonSort", _m_CommonSort);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "CommonSort2", _m_CommonSort2);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetPropertyValue", _m_GetPropertyValue);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "RequireLevelUpCost", _m_RequireLevelUpCost);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetLevelByCost", _m_GetLevelByCost);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetResolveReturnCost", _m_GetResolveReturnCost);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetResolveSouls", _m_GetResolveSouls);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "RemoveOneKeyResolve", _m_RemoveOneKeyResolve);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "gatherSoulHoleRefresh", _e_gatherSoulHoleRefresh);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "gatherSoulHolesRefresh", _e_gatherSoulHolesRefresh);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "gatherSoulPackRefresh", _e_gatherSoulPackRefresh);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "oneKeyResolveRefresh", _e_oneKeyResolveRefresh);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "gatherSoulPropertys", _g_get_gatherSoulPropertys);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "packIndexs", _g_get_packIndexs);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "resolveItems", _g_get_resolveItems);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "holeCount", _g_get_holeCount);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "autoResolve", _g_get_autoResolve);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "coreHole", _g_get_coreHole);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "autoResolveRemainCount", _g_get_autoResolveRemainCount);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "redpoint", _g_get_redpoint);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "equipRedpoint", _g_get_equipRedpoint);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "replaceRedpoint", _g_get_replaceRedpoint);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "resolveRedpoint", _g_get_resolveRedpoint);
            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, "replaceRedpointIndex", _g_get_replaceRedpointIndex);
            Utils.RegisterFunc(L, Utils.SETTER_IDX, "autoResolve", _s_set_autoResolve);
            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, "replaceRedpointIndex", _s_set_replaceRedpointIndex);
            Utils.EndObjectRegister(type, L, translator, null, null,
                null, null, null);
            Utils.BeginClassRegister(type, L, __CreateInstance, 8, 0, 0);
            Utils.RegisterFunc(L, Utils.CLS_IDX, "GetEquipHoleName", _m_GetEquipHoleName_xlua_st_);
            Utils.RegisterObject(L, translator, Utils.CLS_IDX, "GATHERSOUL_SOUL_TYPE", Snxxz.UI.GatheringSoulModel.GATHERSOUL_SOUL_TYPE);
            Utils.RegisterObject(L, translator, Utils.CLS_IDX, "GATHERSOUL_CORE_TYPE", Snxxz.UI.GatheringSoulModel.GATHERSOUL_CORE_TYPE);
            Utils.RegisterObject(L, translator, Utils.CLS_IDX, "GATHERSOUL_ESSENCE_TYPE", Snxxz.UI.GatheringSoulModel.GATHERSOUL_ESSENCE_TYPE);
            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.EndClassRegister(type, L, translator);
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int __CreateInstance(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                if(LuaAPI.lua_gettop(L) == 1)
                {
                    Snxxz.UI.GatheringSoulModel gen_ret = new Snxxz.UI.GatheringSoulModel();
                    translator.Push(L, gen_ret);
                    return 1;
                }
            }
            catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return LuaAPI.luaL_error(L, "invalid arguments to Snxxz.UI.GatheringSoulModel constructor!");
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_Init(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.Init(  );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_OnBeforePlayerDataInitialize(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.OnBeforePlayerDataInitialize(  );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_OnPlayerLoginOk(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.OnPlayerLoginOk(  );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_UnInit(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.UnInit(  );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_GetEquipHoleName_xlua_st_(RealStatePtr L)
        {
            try {
                {
                    int _id = LuaAPI.xlua_tointeger(L, 1);
                        string gen_ret = Snxxz.UI.GatheringSoulModel.GetEquipHoleName( _id );
                        LuaAPI.lua_pushstring(L, gen_ret);
                    return 1;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_GetPropertyHighestSort(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                {
                    System.Collections.Generic.List<int> _list = (System.Collections.Generic.List<int>)translator.GetObject(L, 2, typeof(System.Collections.Generic.List<int>));
                        int gen_ret = gen_to_be_invoked.GetPropertyHighestSort( _list );
                        LuaAPI.xlua_pushinteger(L, gen_ret);
                    return 1;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_RefreshGatherSoulPack(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.RefreshGatherSoulPack(  );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_ExistEmptyHole(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                int gen_param_count = LuaAPI.lua_gettop(L);
                if(gen_param_count == 1)
                {
                        bool gen_ret = gen_to_be_invoked.ExistEmptyHole(  );
                        LuaAPI.lua_pushboolean(L, gen_ret);
                    return 1;
                }
                if(gen_param_count == 1)
                {
                    System.Collections.Generic.List<int> _list;
                        bool gen_ret = gen_to_be_invoked.ExistEmptyHole( out _list );
                        LuaAPI.lua_pushboolean(L, gen_ret);
                    translator.Push(L, _list);
                    return 2;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return LuaAPI.luaL_error(L, "invalid arguments to Snxxz.UI.GatheringSoulModel.ExistEmptyHole!");
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_OnReceiveServerPack(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                {
                    HA31E_tagMCGatherSoulHoleInfo _package = (HA31E_tagMCGatherSoulHoleInfo)translator.GetObject(L, 2, typeof(HA31E_tagMCGatherSoulHoleInfo));
                    gen_to_be_invoked.OnReceiveServerPack( _package );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_ContainsEquipSoul(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);
                        bool gen_ret = gen_to_be_invoked.ContainsEquipSoul( _hole );
                        LuaAPI.lua_pushboolean(L, gen_ret);
                    return 1;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_TryGetSatisfyEquipSouls(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);
                    System.Collections.Generic.List<Snxxz.UI.GatherSoulItem> _equipList = (System.Collections.Generic.List<Snxxz.UI.GatherSoulItem>)translator.GetObject(L, 3, typeof(System.Collections.Generic.List<Snxxz.UI.GatherSoulItem>));
                    gen_to_be_invoked.TryGetSatisfyEquipSouls( _hole, ref _equipList );
                    translator.Push(L, _equipList);
                    return 1;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_IsHoleUnlock(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);
                        bool gen_ret = gen_to_be_invoked.IsHoleUnlock( _hole );
                        LuaAPI.lua_pushboolean(L, gen_ret);
                    return 1;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_SatisfyEquipSoul(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                {
                    Snxxz.UI.GatherSoulItem _item = (Snxxz.UI.GatherSoulItem)translator.GetObject(L, 2, typeof(Snxxz.UI.GatherSoulItem));
                    int _hole = LuaAPI.xlua_tointeger(L, 3);
                    int _error;
                        bool gen_ret = gen_to_be_invoked.SatisfyEquipSoul( _item, _hole, out _error );
                        LuaAPI.lua_pushboolean(L, gen_ret);
                    LuaAPI.xlua_pushinteger(L, _error);
                    return 2;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_SatisfyReplace(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                int gen_param_count = LuaAPI.lua_gettop(L);
                if(gen_param_count == 2&& translator.Assignable<Snxxz.UI.GatherSoulItem>(L, 2))
                {
                    Snxxz.UI.GatherSoulItem _item = (Snxxz.UI.GatherSoulItem)translator.GetObject(L, 2, typeof(Snxxz.UI.GatherSoulItem));
                    int _hole;
                        bool gen_ret = gen_to_be_invoked.SatisfyReplace( _item, out _hole );
                        LuaAPI.lua_pushboolean(L, gen_ret);
                    LuaAPI.xlua_pushinteger(L, _hole);
                    return 2;
                }
                if(gen_param_count == 3&& LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 2)&& translator.Assignable<Snxxz.UI.GatherSoulItem>(L, 3))
                {
                    int _hole = LuaAPI.xlua_tointeger(L, 2);
                    Snxxz.UI.GatherSoulItem _item = (Snxxz.UI.GatherSoulItem)translator.GetObject(L, 3, typeof(Snxxz.UI.GatherSoulItem));
                        bool gen_ret = gen_to_be_invoked.SatisfyReplace( _hole, _item );
                        LuaAPI.lua_pushboolean(L, gen_ret);
                    return 1;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return LuaAPI.luaL_error(L, "invalid arguments to Snxxz.UI.GatheringSoulModel.SatisfyReplace!");
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_SatisfyLevelUp(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                {
                    Snxxz.UI.GatherSoulItem _item = (Snxxz.UI.GatherSoulItem)translator.GetObject(L, 2, typeof(Snxxz.UI.GatherSoulItem));
                    int _error;
                        bool gen_ret = gen_to_be_invoked.SatisfyLevelUp( _item, out _error );
                        LuaAPI.lua_pushboolean(L, gen_ret);
                    LuaAPI.xlua_pushinteger(L, _error);
                    return 2;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_DisplayLevelUpError(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                {
                    int _error = LuaAPI.xlua_tointeger(L, 2);
                    gen_to_be_invoked.DisplayLevelUpError( _error );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_IsSamePropertyCompareHoles(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                {
                    int _exclude = LuaAPI.xlua_tointeger(L, 2);
                    Snxxz.UI.GatherSoulItem _item = (Snxxz.UI.GatherSoulItem)translator.GetObject(L, 3, typeof(Snxxz.UI.GatherSoulItem));
                        int gen_ret = gen_to_be_invoked.IsSamePropertyCompareHoles( _exclude, _item );
                        LuaAPI.xlua_pushinteger(L, gen_ret);
                    return 1;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_IsSamePropertyCompareHole(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));
                        bool gen_ret = gen_to_be_invoked.IsSamePropertyCompareHole( _hole, _item );
                        LuaAPI.lua_pushboolean(L, gen_ret);
                    return 1;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_IsGatherSoulMaxLevel(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                {
                    int _id = LuaAPI.xlua_tointeger(L, 2);
                    int _level = LuaAPI.xlua_tointeger(L, 3);
                        bool gen_ret = gen_to_be_invoked.IsGatherSoulMaxLevel( _id, _level );
                        LuaAPI.lua_pushboolean(L, gen_ret);
                    return 1;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_IsBestSoul(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                {
                    Snxxz.UI.GatherSoulItem _item = (Snxxz.UI.GatherSoulItem)translator.GetObject(L, 2, typeof(Snxxz.UI.GatherSoulItem));
                    int _excludePlaceType = LuaAPI.xlua_tointeger(L, 3);
                    int _excludeIndex = LuaAPI.xlua_tointeger(L, 4);
                        bool gen_ret = gen_to_be_invoked.IsBestSoul( _item, _excludePlaceType, _excludeIndex );
                        LuaAPI.lua_pushboolean(L, gen_ret);
                    return 1;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_HandleSoulTipFunc(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                {
                    ItemWinBtnType _type;translator.Get(L, 2, out _type);
                    Snxxz.UI.GatherSoulItem _item = (Snxxz.UI.GatherSoulItem)translator.GetObject(L, 3, typeof(Snxxz.UI.GatherSoulItem));
                    gen_to_be_invoked.HandleSoulTipFunc( _type, _item );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_ExecuteResolve(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                {
                    Snxxz.UI.GatherSoulItem _item = (Snxxz.UI.GatherSoulItem)translator.GetObject(L, 2, typeof(Snxxz.UI.GatherSoulItem));
                    gen_to_be_invoked.ExecuteResolve( _item );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_SendResolvePack(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                int gen_param_count = LuaAPI.lua_gettop(L);
                if(gen_param_count == 2&& translator.Assignable<Snxxz.UI.GatherSoulItem>(L, 2))
                {
                    Snxxz.UI.GatherSoulItem _item = (Snxxz.UI.GatherSoulItem)translator.GetObject(L, 2, typeof(Snxxz.UI.GatherSoulItem));
                    gen_to_be_invoked.SendResolvePack( _item );
                    return 0;
                }
                if(gen_param_count == 3&& translator.Assignable<ushort[]>(L, 2)&& LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 3))
                {
                    ushort[] _resolves = (ushort[])translator.GetObject(L, 2, typeof(ushort[]));
                    bool _isAuto = LuaAPI.lua_toboolean(L, 3);
                    gen_to_be_invoked.SendResolvePack( _resolves, _isAuto );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return LuaAPI.luaL_error(L, "invalid arguments to Snxxz.UI.GatheringSoulModel.SendResolvePack!");
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_ExecuteEquipSoul(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                int gen_param_count = LuaAPI.lua_gettop(L);
                if(gen_param_count == 2&& translator.Assignable<Snxxz.UI.GatherSoulItem>(L, 2))
                {
                    Snxxz.UI.GatherSoulItem _item = (Snxxz.UI.GatherSoulItem)translator.GetObject(L, 2, typeof(Snxxz.UI.GatherSoulItem));
                    gen_to_be_invoked.ExecuteEquipSoul( _item );
                    return 0;
                }
                if(gen_param_count == 3&& translator.Assignable<Snxxz.UI.GatherSoulItem>(L, 2)&& LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 3))
                {
                    Snxxz.UI.GatherSoulItem _item = (Snxxz.UI.GatherSoulItem)translator.GetObject(L, 2, typeof(Snxxz.UI.GatherSoulItem));
                    int _hole = LuaAPI.xlua_tointeger(L, 3);
                    gen_to_be_invoked.ExecuteEquipSoul( _item, _hole );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return LuaAPI.luaL_error(L, "invalid arguments to Snxxz.UI.GatheringSoulModel.ExecuteEquipSoul!");
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_ExecuteReplaceSoul(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                {
                    Snxxz.UI.GatherSoulItem _item = (Snxxz.UI.GatherSoulItem)translator.GetObject(L, 2, typeof(Snxxz.UI.GatherSoulItem));
                    gen_to_be_invoked.ExecuteReplaceSoul( _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 {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                {
                    Snxxz.UI.GatherSoulItem _item = (Snxxz.UI.GatherSoulItem)translator.GetObject(L, 2, typeof(Snxxz.UI.GatherSoulItem));
                    gen_to_be_invoked.ExecutePutOffSoul( _item );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_CheckExist(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                int gen_param_count = LuaAPI.lua_gettop(L);
                if(gen_param_count == 2&& translator.Assignable<Snxxz.UI.GatherSoulItem>(L, 2))
                {
                    Snxxz.UI.GatherSoulItem _item = (Snxxz.UI.GatherSoulItem)translator.GetObject(L, 2, typeof(Snxxz.UI.GatherSoulItem));
                        bool gen_ret = gen_to_be_invoked.CheckExist( _item );
                        LuaAPI.lua_pushboolean(L, gen_ret);
                    return 1;
                }
                if(gen_param_count == 2&& translator.Assignable<Snxxz.UI.VirtualItem>(L, 2))
                {
                    Snxxz.UI.VirtualItem _item;translator.Get(L, 2, out _item);
                        bool gen_ret = gen_to_be_invoked.CheckExist( _item );
                        LuaAPI.lua_pushboolean(L, gen_ret);
                    return 1;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return LuaAPI.luaL_error(L, "invalid arguments to Snxxz.UI.GatheringSoulModel.CheckExist!");
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_TryGetHoleCondition(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.GatherSoulHoleCondition _condition;
                        bool gen_ret = gen_to_be_invoked.TryGetHoleCondition( _hole, out _condition );
                        LuaAPI.lua_pushboolean(L, gen_ret);
                    translator.Push(L, _condition);
                    return 2;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_TryGetItem(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;
                        bool gen_ret = gen_to_be_invoked.TryGetItem( _hole, out _item );
                        LuaAPI.lua_pushboolean(L, gen_ret);
                    translator.Push(L, _item);
                    return 2;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_TryGetHighestLevelItem(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                {
                    int _itemId = LuaAPI.xlua_tointeger(L, 2);
                    Snxxz.UI.GatherSoulItem _item;
                        bool gen_ret = gen_to_be_invoked.TryGetHighestLevelItem( _itemId, out _item );
                        LuaAPI.lua_pushboolean(L, gen_ret);
                    translator.Push(L, _item);
                    return 2;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_TryGetSinglePropertyItems(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                {
                    int _property = LuaAPI.xlua_tointeger(L, 2);
                    int _itemId;
                        bool gen_ret = gen_to_be_invoked.TryGetSinglePropertyItems( _property, out _itemId );
                        LuaAPI.lua_pushboolean(L, gen_ret);
                    LuaAPI.xlua_pushinteger(L, _itemId);
                    return 2;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_CommonSort(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                int gen_param_count = LuaAPI.lua_gettop(L);
                if(gen_param_count == 3&& LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 2)&& LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 3))
                {
                    int _lhs = LuaAPI.xlua_tointeger(L, 2);
                    int _rhs = LuaAPI.xlua_tointeger(L, 3);
                        int gen_ret = gen_to_be_invoked.CommonSort( _lhs, _rhs );
                        LuaAPI.xlua_pushinteger(L, gen_ret);
                    return 1;
                }
                if(gen_param_count == 3&& translator.Assignable<Snxxz.UI.GatherSoulItem>(L, 2)&& translator.Assignable<Snxxz.UI.GatherSoulItem>(L, 3))
                {
                    Snxxz.UI.GatherSoulItem _lhs = (Snxxz.UI.GatherSoulItem)translator.GetObject(L, 2, typeof(Snxxz.UI.GatherSoulItem));
                    Snxxz.UI.GatherSoulItem _rhs = (Snxxz.UI.GatherSoulItem)translator.GetObject(L, 3, typeof(Snxxz.UI.GatherSoulItem));
                        int gen_ret = gen_to_be_invoked.CommonSort( _lhs, _rhs );
                        LuaAPI.xlua_pushinteger(L, gen_ret);
                    return 1;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return LuaAPI.luaL_error(L, "invalid arguments to Snxxz.UI.GatheringSoulModel.CommonSort!");
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_CommonSort2(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                {
                    Snxxz.UI.GatherSoulItem _lhs = (Snxxz.UI.GatherSoulItem)translator.GetObject(L, 2, typeof(Snxxz.UI.GatherSoulItem));
                    Snxxz.UI.GatherSoulItem _rhs = (Snxxz.UI.GatherSoulItem)translator.GetObject(L, 3, typeof(Snxxz.UI.GatherSoulItem));
                        int gen_ret = gen_to_be_invoked.CommonSort2( _lhs, _rhs );
                        LuaAPI.xlua_pushinteger(L, gen_ret);
                    return 1;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_GetPropertyValue(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                {
                    int _id = LuaAPI.xlua_tointeger(L, 2);
                    int _type = LuaAPI.xlua_tointeger(L, 3);
                    int _level = LuaAPI.xlua_tointeger(L, 4);
                        int gen_ret = gen_to_be_invoked.GetPropertyValue( _id, _type, _level );
                        LuaAPI.xlua_pushinteger(L, gen_ret);
                    return 1;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_RequireLevelUpCost(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                int gen_param_count = LuaAPI.lua_gettop(L);
                if(gen_param_count == 3&& LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 2)&& LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 3))
                {
                    int _id = LuaAPI.xlua_tointeger(L, 2);
                    int _level = LuaAPI.xlua_tointeger(L, 3);
                        int gen_ret = gen_to_be_invoked.RequireLevelUpCost( _id, _level );
                        LuaAPI.xlua_pushinteger(L, gen_ret);
                    return 1;
                }
                if(gen_param_count == 2&& translator.Assignable<Snxxz.UI.GatherSoulItem>(L, 2))
                {
                    Snxxz.UI.GatherSoulItem _item = (Snxxz.UI.GatherSoulItem)translator.GetObject(L, 2, typeof(Snxxz.UI.GatherSoulItem));
                        int gen_ret = gen_to_be_invoked.RequireLevelUpCost( _item );
                        LuaAPI.xlua_pushinteger(L, gen_ret);
                    return 1;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return LuaAPI.luaL_error(L, "invalid arguments to Snxxz.UI.GatheringSoulModel.RequireLevelUpCost!");
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_GetLevelByCost(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                {
                    int _id = LuaAPI.xlua_tointeger(L, 2);
                    ulong _cost = LuaAPI.lua_touint64(L, 3);
                        int gen_ret = gen_to_be_invoked.GetLevelByCost( _id, _cost );
                        LuaAPI.xlua_pushinteger(L, gen_ret);
                    return 1;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_GetResolveReturnCost(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                int gen_param_count = LuaAPI.lua_gettop(L);
                if(gen_param_count == 4&& LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 2)&& LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 3)&& LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 4))
                {
                    int _id = LuaAPI.xlua_tointeger(L, 2);
                    int _level = LuaAPI.xlua_tointeger(L, 3);
                    bool _fromCompose = LuaAPI.lua_toboolean(L, 4);
                        int gen_ret = gen_to_be_invoked.GetResolveReturnCost( _id, _level, _fromCompose );
                        LuaAPI.xlua_pushinteger(L, gen_ret);
                    return 1;
                }
                if(gen_param_count == 3&& LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 2)&& LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 3))
                {
                    int _id = LuaAPI.xlua_tointeger(L, 2);
                    int _level = LuaAPI.xlua_tointeger(L, 3);
                        int gen_ret = gen_to_be_invoked.GetResolveReturnCost( _id, _level );
                        LuaAPI.xlua_pushinteger(L, gen_ret);
                    return 1;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return LuaAPI.luaL_error(L, "invalid arguments to Snxxz.UI.GatheringSoulModel.GetResolveReturnCost!");
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_GetResolveSouls(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                {
                    int _quality = LuaAPI.xlua_tointeger(L, 2);
                    System.Collections.Generic.List<Snxxz.UI.GatherSoulItem> _list = (System.Collections.Generic.List<Snxxz.UI.GatherSoulItem>)translator.GetObject(L, 3, typeof(System.Collections.Generic.List<Snxxz.UI.GatherSoulItem>));
                    gen_to_be_invoked.GetResolveSouls( _quality, _list );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_RemoveOneKeyResolve(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                {
                    int _index = LuaAPI.xlua_tointeger(L, 2);
                    gen_to_be_invoked.RemoveOneKeyResolve( _index );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_gatherSoulPropertys(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.gatherSoulPropertys);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_packIndexs(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.packIndexs);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_resolveItems(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.resolveItems);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_holeCount(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.holeCount);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_autoResolve(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                LuaAPI.lua_pushboolean(L, gen_to_be_invoked.autoResolve);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_coreHole(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.coreHole);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_autoResolveRemainCount(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.autoResolveRemainCount);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_redpoint(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.redpoint);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_equipRedpoint(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.equipRedpoint);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_replaceRedpoint(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.replaceRedpoint);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_resolveRedpoint(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.resolveRedpoint);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_levelUpRedpoint(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.levelUpRedpoint);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_equipRedpointHole(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.equipRedpointHole);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_levelUpRedpointHole(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.levelUpRedpointHole);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        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);
                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.replaceRedpointIndex);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _s_set_autoResolve(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.autoResolve = LuaAPI.lua_toboolean(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_equipRedpointHole(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.equipRedpointHole = LuaAPI.xlua_tointeger(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_levelUpRedpointHole(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.levelUpRedpointHole = LuaAPI.xlua_tointeger(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_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.replaceRedpointIndex = LuaAPI.xlua_tointeger(L, 2);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 0;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _e_gatherSoulHoleRefresh(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                int gen_param_count = LuaAPI.lua_gettop(L);
            Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                System.Action<int> gen_delegate = translator.GetDelegate<System.Action<int>>(L, 3);
                if (gen_delegate == null) {
                    return LuaAPI.luaL_error(L, "#3 need System.Action<int>!");
                }
                if (gen_param_count == 3)
                {
                    if (LuaAPI.xlua_is_eq_str(L, 2, "+")) {
                        gen_to_be_invoked.gatherSoulHoleRefresh += gen_delegate;
                        return 0;
                    }
                    if (LuaAPI.xlua_is_eq_str(L, 2, "-")) {
                        gen_to_be_invoked.gatherSoulHoleRefresh -= gen_delegate;
                        return 0;
                    }
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            LuaAPI.luaL_error(L, "invalid arguments to Snxxz.UI.GatheringSoulModel.gatherSoulHoleRefresh!");
            return 0;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _e_gatherSoulHolesRefresh(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                int gen_param_count = LuaAPI.lua_gettop(L);
            Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                System.Action gen_delegate = translator.GetDelegate<System.Action>(L, 3);
                if (gen_delegate == null) {
                    return LuaAPI.luaL_error(L, "#3 need System.Action!");
                }
                if (gen_param_count == 3)
                {
                    if (LuaAPI.xlua_is_eq_str(L, 2, "+")) {
                        gen_to_be_invoked.gatherSoulHolesRefresh += gen_delegate;
                        return 0;
                    }
                    if (LuaAPI.xlua_is_eq_str(L, 2, "-")) {
                        gen_to_be_invoked.gatherSoulHolesRefresh -= gen_delegate;
                        return 0;
                    }
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            LuaAPI.luaL_error(L, "invalid arguments to Snxxz.UI.GatheringSoulModel.gatherSoulHolesRefresh!");
            return 0;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _e_gatherSoulPackRefresh(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                int gen_param_count = LuaAPI.lua_gettop(L);
            Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                System.Action gen_delegate = translator.GetDelegate<System.Action>(L, 3);
                if (gen_delegate == null) {
                    return LuaAPI.luaL_error(L, "#3 need System.Action!");
                }
                if (gen_param_count == 3)
                {
                    if (LuaAPI.xlua_is_eq_str(L, 2, "+")) {
                        gen_to_be_invoked.gatherSoulPackRefresh += gen_delegate;
                        return 0;
                    }
                    if (LuaAPI.xlua_is_eq_str(L, 2, "-")) {
                        gen_to_be_invoked.gatherSoulPackRefresh -= gen_delegate;
                        return 0;
                    }
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            LuaAPI.luaL_error(L, "invalid arguments to Snxxz.UI.GatheringSoulModel.gatherSoulPackRefresh!");
            return 0;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _e_oneKeyResolveRefresh(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                int gen_param_count = LuaAPI.lua_gettop(L);
            Snxxz.UI.GatheringSoulModel gen_to_be_invoked = (Snxxz.UI.GatheringSoulModel)translator.FastGetCSObj(L, 1);
                System.Action gen_delegate = translator.GetDelegate<System.Action>(L, 3);
                if (gen_delegate == null) {
                    return LuaAPI.luaL_error(L, "#3 need System.Action!");
                }
                if (gen_param_count == 3)
                {
                    if (LuaAPI.xlua_is_eq_str(L, 2, "+")) {
                        gen_to_be_invoked.oneKeyResolveRefresh += gen_delegate;
                        return 0;
                    }
                    if (LuaAPI.xlua_is_eq_str(L, 2, "-")) {
                        gen_to_be_invoked.oneKeyResolveRefresh -= gen_delegate;
                        return 0;
                    }
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            LuaAPI.luaL_error(L, "invalid arguments to Snxxz.UI.GatheringSoulModel.oneKeyResolveRefresh!");
            return 0;
        }
    }
}
Lua/Gen/SnxxzUIGatheringSoulModelWrap.cs.meta
copy from System/FairyAu/FairyFeastBehaviour.cs.meta copy to Lua/Gen/SnxxzUIGatheringSoulModelWrap.cs.meta
File was copied from System/FairyAu/FairyFeastBehaviour.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 0e45b19a89d401543bc629f6e4b85599
timeCreated: 1529473535
guid: 1ed75fdb9e6fc8a4fad586ab584d471c
timeCreated: 1545467164
licenseType: Pro
MonoImporter:
  serializedVersion: 2
Lua/Gen/SnxxzUIMagicianModelWrap.cs
@@ -21,7 +21,7 @@
        {
            ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
            System.Type type = typeof(Snxxz.UI.MagicianModel);
            Utils.BeginObjectRegister(type, L, translator, 0, 33, 10, 7);
            Utils.BeginObjectRegister(type, L, translator, 0, 34, 12, 7);
            
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "Init", _m_Init);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "UnInit", _m_UnInit);
@@ -31,6 +31,7 @@
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "UpdateRedPoint", _m_UpdateRedPoint);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetRedpointLightByType", _m_GetRedpointLightByType);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "HammerGodWeapon", _m_HammerGodWeapon);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "PlayHammerAudio", _m_PlayHammerAudio);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "UpdateGodWeaponInfo", _m_UpdateGodWeaponInfo);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "TryGetUnlockStage", _m_TryGetUnlockStage);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "TryGetUnlockSkill", _m_TryGetUnlockSkill);
@@ -62,6 +63,8 @@
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "godWeaponIcons", _g_get_godWeaponIcons);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "selectType", _g_get_selectType);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "autoHammerLevel", _g_get_autoHammerLevel);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "hammerAudioId", _g_get_hammerAudioId);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "audioLength", _g_get_audioLength);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "magicianRedpoint", _g_get_magicianRedpoint);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "godWeaponSkillDict", _g_get_godWeaponSkillDict);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "godWeaponSorts", _g_get_godWeaponSorts);
@@ -332,6 +335,33 @@
                    int _type = LuaAPI.xlua_tointeger(L, 2);
                    
                    gen_to_be_invoked.HammerGodWeapon( _type );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_PlayHammerAudio(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.MagicianModel gen_to_be_invoked = (Snxxz.UI.MagicianModel)translator.FastGetCSObj(L, 1);
                {
                    gen_to_be_invoked.PlayHammerAudio(  );
                    
                    
                    
@@ -1125,6 +1155,34 @@
        }
        
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_hammerAudioId(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.MagicianModel gen_to_be_invoked = (Snxxz.UI.MagicianModel)translator.FastGetCSObj(L, 1);
                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.hammerAudioId);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_audioLength(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.MagicianModel gen_to_be_invoked = (Snxxz.UI.MagicianModel)translator.FastGetCSObj(L, 1);
                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.audioLength);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_magicianRedpoint(RealStatePtr L)
        {
            try {
Lua/Gen/SnxxzUIRoleModelWrap.cs
@@ -21,7 +21,7 @@
        {
            ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
            System.Type type = typeof(Snxxz.UI.RoleModel);
            Utils.BeginObjectRegister(type, L, translator, 0, 7, 2, 1);
            Utils.BeginObjectRegister(type, L, translator, 0, 8, 2, 1);
            
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "Init", _m_Init);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnBeforePlayerDataInitialize", _m_OnBeforePlayerDataInitialize);
@@ -30,6 +30,7 @@
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "UnInit", _m_UnInit);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "SetRename", _m_SetRename);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "ServerRenameResult", _m_ServerRenameResult);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "OpenRolePanel", _m_OpenRolePanel);
            
            
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "playerRename", _g_get_playerRename);
@@ -272,6 +273,33 @@
            
        }
        
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_OpenRolePanel(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.RoleModel gen_to_be_invoked = (Snxxz.UI.RoleModel)translator.FastGetCSObj(L, 1);
                {
                    gen_to_be_invoked.OpenRolePanel(  );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        
        
        
Lua/Gen/SnxxzUIRoleParticularModelWrap.cs
@@ -21,15 +21,17 @@
        {
            ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
            System.Type type = typeof(Snxxz.UI.RoleParticularModel);
            Utils.BeginObjectRegister(type, L, translator, 0, 19, 3, 1);
            Utils.BeginObjectRegister(type, L, translator, 0, 22, 3, 1);
            
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "Init", _m_Init);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "UnInit", _m_UnInit);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnBeforePlayerDataInitialize", _m_OnBeforePlayerDataInitialize);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetItemData", _m_GetItemData);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetViewPlayerData", _m_GetViewPlayerData);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "ViewRoleEquip", _m_ViewRoleEquip);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "ViewRoleFightPower", _m_ViewRoleFightPower);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "ViewKingFairyLeader", _m_ViewKingFairyLeader);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "ViewFairyFeastTransmit", _m_ViewFairyFeastTransmit);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRevRoleEquip", _m_OnRevRoleEquip);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnRevRoleFuncPower", _m_OnRevRoleFuncPower);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetFuncFightPower", _m_GetFuncFightPower);
@@ -43,6 +45,7 @@
            
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "PowerUpdate", _e_PowerUpdate);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "UpdatePlayerParticularEvent", _e_UpdatePlayerParticularEvent);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "viewPlayerUpdate", _e_viewPlayerUpdate);
            
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "viewPlayer", _g_get_viewPlayer);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "viewPlayerType", _g_get_viewPlayerType);
@@ -136,6 +139,33 @@
                {
                    
                    gen_to_be_invoked.UnInit(  );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_OnBeforePlayerDataInitialize(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.RoleParticularModel gen_to_be_invoked = (Snxxz.UI.RoleParticularModel)translator.FastGetCSObj(L, 1);
                {
                    gen_to_be_invoked.OnBeforePlayerDataInitialize(  );
                    
                    
                    
@@ -278,6 +308,34 @@
                    int __playerId = LuaAPI.xlua_tointeger(L, 2);
                    
                    gen_to_be_invoked.ViewKingFairyLeader( __playerId );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_ViewFairyFeastTransmit(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.RoleParticularModel gen_to_be_invoked = (Snxxz.UI.RoleParticularModel)translator.FastGetCSObj(L, 1);
                {
                    int __playerId = LuaAPI.xlua_tointeger(L, 2);
                    gen_to_be_invoked.ViewFairyFeastTransmit( __playerId );
                    
                    
                    
@@ -781,6 +839,40 @@
            return 0;
        }
        
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _e_viewPlayerUpdate(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                int gen_param_count = LuaAPI.lua_gettop(L);
            Snxxz.UI.RoleParticularModel gen_to_be_invoked = (Snxxz.UI.RoleParticularModel)translator.FastGetCSObj(L, 1);
                System.Action<int, Snxxz.UI.RoleParticularModel.ViewPlayerData> gen_delegate = translator.GetDelegate<System.Action<int, Snxxz.UI.RoleParticularModel.ViewPlayerData>>(L, 3);
                if (gen_delegate == null) {
                    return LuaAPI.luaL_error(L, "#3 need System.Action<int, Snxxz.UI.RoleParticularModel.ViewPlayerData>!");
                }
                if (gen_param_count == 3)
                {
                    if (LuaAPI.xlua_is_eq_str(L, 2, "+")) {
                        gen_to_be_invoked.viewPlayerUpdate += gen_delegate;
                        return 0;
                    }
                    if (LuaAPI.xlua_is_eq_str(L, 2, "-")) {
                        gen_to_be_invoked.viewPlayerUpdate -= gen_delegate;
                        return 0;
                    }
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            LuaAPI.luaL_error(L, "invalid arguments to Snxxz.UI.RoleParticularModel.viewPlayerUpdate!");
            return 0;
        }
        
        
    }
Lua/Gen/SnxxzUIVirtualPackModelWrap.cs
New file
@@ -0,0 +1,367 @@
#if USE_UNI_LUA
using LuaAPI = UniLua.Lua;
using RealStatePtr = UniLua.ILuaState;
using LuaCSFunction = UniLua.CSharpFunctionDelegate;
#else
using LuaAPI = XLua.LuaDLL.Lua;
using RealStatePtr = System.IntPtr;
using LuaCSFunction = XLua.LuaDLL.lua_CSFunction;
#endif
using XLua;
using System.Collections.Generic;
namespace XLua.CSObjectWrap
{
    using Utils = XLua.Utils;
    public class SnxxzUIVirtualPackModelWrap
    {
        public static void __Register(RealStatePtr L)
        {
            ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
            System.Type type = typeof(Snxxz.UI.VirtualPackModel);
            Utils.BeginObjectRegister(type, L, translator, 0, 9, 0, 0);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "Init", _m_Init);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnBeforePlayerDataInitialize", _m_OnBeforePlayerDataInitialize);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnPlayerLoginOk", _m_OnPlayerLoginOk);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "UnInit", _m_UnInit);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetPackCapacity", _m_GetPackCapacity);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetPackRemainCount", _m_GetPackRemainCount);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "TryGetItems", _m_TryGetItems);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnReceiveServerPack", _m_OnReceiveServerPack);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "virtualPackRefresh", _e_virtualPackRefresh);
            Utils.EndObjectRegister(type, L, translator, null, null,
                null, null, null);
            Utils.BeginClassRegister(type, L, __CreateInstance, 1, 0, 0);
            Utils.EndClassRegister(type, L, translator);
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int __CreateInstance(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                if(LuaAPI.lua_gettop(L) == 1)
                {
                    Snxxz.UI.VirtualPackModel gen_ret = new Snxxz.UI.VirtualPackModel();
                    translator.Push(L, gen_ret);
                    return 1;
                }
            }
            catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return LuaAPI.luaL_error(L, "invalid arguments to Snxxz.UI.VirtualPackModel constructor!");
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_Init(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.VirtualPackModel gen_to_be_invoked = (Snxxz.UI.VirtualPackModel)translator.FastGetCSObj(L, 1);
                {
                    gen_to_be_invoked.Init(  );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_OnBeforePlayerDataInitialize(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.VirtualPackModel gen_to_be_invoked = (Snxxz.UI.VirtualPackModel)translator.FastGetCSObj(L, 1);
                {
                    gen_to_be_invoked.OnBeforePlayerDataInitialize(  );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_OnPlayerLoginOk(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.VirtualPackModel gen_to_be_invoked = (Snxxz.UI.VirtualPackModel)translator.FastGetCSObj(L, 1);
                {
                    gen_to_be_invoked.OnPlayerLoginOk(  );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_UnInit(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.VirtualPackModel gen_to_be_invoked = (Snxxz.UI.VirtualPackModel)translator.FastGetCSObj(L, 1);
                {
                    gen_to_be_invoked.UnInit(  );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_GetPackCapacity(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.VirtualPackModel gen_to_be_invoked = (Snxxz.UI.VirtualPackModel)translator.FastGetCSObj(L, 1);
                {
                    PackType _packType;translator.Get(L, 2, out _packType);
                        int gen_ret = gen_to_be_invoked.GetPackCapacity( _packType );
                        LuaAPI.xlua_pushinteger(L, gen_ret);
                    return 1;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_GetPackRemainCount(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.VirtualPackModel gen_to_be_invoked = (Snxxz.UI.VirtualPackModel)translator.FastGetCSObj(L, 1);
                {
                    PackType _packType;translator.Get(L, 2, out _packType);
                        int gen_ret = gen_to_be_invoked.GetPackRemainCount( _packType );
                        LuaAPI.xlua_pushinteger(L, gen_ret);
                    return 1;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_TryGetItems(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.VirtualPackModel gen_to_be_invoked = (Snxxz.UI.VirtualPackModel)translator.FastGetCSObj(L, 1);
                {
                    PackType _packType;translator.Get(L, 2, out _packType);
                    System.Collections.Generic.List<int> _list;
                        bool gen_ret = gen_to_be_invoked.TryGetItems( _packType, out _list );
                        LuaAPI.lua_pushboolean(L, gen_ret);
                    translator.Push(L, _list);
                    return 2;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_OnReceiveServerPack(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.VirtualPackModel gen_to_be_invoked = (Snxxz.UI.VirtualPackModel)translator.FastGetCSObj(L, 1);
                int gen_param_count = LuaAPI.lua_gettop(L);
                if(gen_param_count == 2&& translator.Assignable<HA204_tagMCVPackRefresh>(L, 2))
                {
                    HA204_tagMCVPackRefresh _package = (HA204_tagMCVPackRefresh)translator.GetObject(L, 2, typeof(HA204_tagMCVPackRefresh));
                    gen_to_be_invoked.OnReceiveServerPack( _package );
                    return 0;
                }
                if(gen_param_count == 2&& translator.Assignable<HA205_tagMCVPackClear>(L, 2))
                {
                    HA205_tagMCVPackClear _package = (HA205_tagMCVPackClear)translator.GetObject(L, 2, typeof(HA205_tagMCVPackClear));
                    gen_to_be_invoked.OnReceiveServerPack( _package );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return LuaAPI.luaL_error(L, "invalid arguments to Snxxz.UI.VirtualPackModel.OnReceiveServerPack!");
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _e_virtualPackRefresh(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                int gen_param_count = LuaAPI.lua_gettop(L);
            Snxxz.UI.VirtualPackModel gen_to_be_invoked = (Snxxz.UI.VirtualPackModel)translator.FastGetCSObj(L, 1);
                System.Action<PackType> gen_delegate = translator.GetDelegate<System.Action<PackType>>(L, 3);
                if (gen_delegate == null) {
                    return LuaAPI.luaL_error(L, "#3 need System.Action<PackType>!");
                }
                if (gen_param_count == 3)
                {
                    if (LuaAPI.xlua_is_eq_str(L, 2, "+")) {
                        gen_to_be_invoked.virtualPackRefresh += gen_delegate;
                        return 0;
                    }
                    if (LuaAPI.xlua_is_eq_str(L, 2, "-")) {
                        gen_to_be_invoked.virtualPackRefresh -= gen_delegate;
                        return 0;
                    }
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            LuaAPI.luaL_error(L, "invalid arguments to Snxxz.UI.VirtualPackModel.virtualPackRefresh!");
            return 0;
        }
    }
}
Lua/Gen/SnxxzUIVirtualPackModelWrap.cs.meta
copy from System/FairyAu/FairyFeastBehaviour.cs.meta copy to Lua/Gen/SnxxzUIVirtualPackModelWrap.cs.meta
File was copied from System/FairyAu/FairyFeastBehaviour.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 0e45b19a89d401543bc629f6e4b85599
timeCreated: 1529473535
guid: d0f4beb7e2cf83244a4ad12fb7a1ee7f
timeCreated: 1545467173
licenseType: Pro
MonoImporter:
  serializedVersion: 2
Lua/Gen/XLuaGenAutoRegister.cs
@@ -408,6 +408,18 @@
            translator.DelayWrapLoader(typeof(GMCmdModel), GMCmdModelWrap.__Register);
        
        
            translator.DelayWrapLoader(typeof(Snxxz.UI.GatherSoulComposeModel), SnxxzUIGatherSoulComposeModelWrap.__Register);
            translator.DelayWrapLoader(typeof(Snxxz.UI.GatherSoulDungeonModel), SnxxzUIGatherSoulDungeonModelWrap.__Register);
            translator.DelayWrapLoader(typeof(Snxxz.UI.GatheringSoulModel), SnxxzUIGatheringSoulModelWrap.__Register);
            translator.DelayWrapLoader(typeof(Snxxz.UI.VirtualPackModel), SnxxzUIVirtualPackModelWrap.__Register);
            translator.DelayWrapLoader(typeof(Snxxz.UI.GuardModel), SnxxzUIGuardModelWrap.__Register);
        
        
@@ -482,6 +494,10 @@
        
            translator.DelayWrapLoader(typeof(Snxxz.UI.PKModel), SnxxzUIPKModelWrap.__Register);
        
        }
        static void wrapInit3(LuaEnv luaenv, ObjectTranslator translator)
        {
        
            translator.DelayWrapLoader(typeof(Snxxz.UI.StoryMissionsModel), SnxxzUIStoryMissionsModelWrap.__Register);
        
@@ -639,6 +655,10 @@
        
            translator.DelayWrapLoader(typeof(EquipWashModel), EquipWashModelWrap.__Register);
        
        }
        static void wrapInit4(LuaEnv luaenv, ObjectTranslator translator)
        {
        
            translator.DelayWrapLoader(typeof(Snxxz.UI.GemModel), SnxxzUIGemModelWrap.__Register);
        
@@ -796,6 +816,10 @@
        
            translator.DelayWrapLoader(typeof(TimeMgr), TimeMgrWrap.__Register);
        
        }
        static void wrapInit5(LuaEnv luaenv, ObjectTranslator translator)
        {
        
            translator.DelayWrapLoader(typeof(UIEffect), UIEffectWrap.__Register);
        
Lua/Gen/link.xml
@@ -108,6 +108,10 @@
        <type fullname="Snxxz.UI.WorldBossModel" preserve="all"/>
        <type fullname="FriendsModel" preserve="all"/>
        <type fullname="GMCmdModel" preserve="all"/>
        <type fullname="Snxxz.UI.GatherSoulComposeModel" preserve="all"/>
        <type fullname="Snxxz.UI.GatherSoulDungeonModel" preserve="all"/>
        <type fullname="Snxxz.UI.GatheringSoulModel" preserve="all"/>
        <type fullname="Snxxz.UI.VirtualPackModel" preserve="all"/>
        <type fullname="Snxxz.UI.GuardModel" preserve="all"/>
        <type fullname="Snxxz.UI.HappyXBModel" preserve="all"/>
        <type fullname="Snxxz.UI.HeavenBattleInfo" preserve="all"/>
System/Chat/ChatCtrl.cs
@@ -504,7 +504,7 @@
        }
        ChatFriendData chatData = new ChatFriendData(vNetData.Content, (int)vNetData.PlayerID, vNetData.SrcName, vNetData.Extras, vNetData.ToName, vNetData.TalkType, vNetData.ToPlayerID);
        FitterChat(chatData);
        AddPteChat(chatData);
        AddPteChat(chatData, false);
        LocalChatHistory.Save(chatData as ChatUeseData);
        if (chatData.player == PlayerDatas.Instance.baseData.PlayerID)
        {
@@ -518,7 +518,7 @@
            chatCenter.CheckAutoPlayVoice(chatData);
        }
    }
    private void AddPteChat(ChatFriendData chatData)
    private void AddPteChat(ChatFriendData chatData, bool isLocal)
    {
        List<ChatFriendData> list = null;
        pteChatDics.TryGetValue(chatData.player + chatData.toPlayer, out list);
@@ -538,8 +538,10 @@
            list.Add(chatData);
            pteChatDics.Add(chatData.player + chatData.toPlayer, list);
        }
        if (OnRefreshPteChat != null)
        if (OnRefreshPteChat != null && !isLocal)
        {
            OnRefreshPteChat(chatData);
        }
    }
    /// <summary>
    /// 队伍频道
@@ -649,7 +651,7 @@
        if (chat.type == ChatInfoType.Friend)
        {
            FitterChat(chat);
            AddPteChat(chat as ChatFriendData);
            AddPteChat(chat as ChatFriendData, true);
        }
        else
        {
System/Dungeon/DungeonFairyFeastHintWin.cs
@@ -11,7 +11,7 @@
namespace Snxxz.UI
{
    [XLua.Hotfix]
    public class DungeonFairyFeastHintWin : Window
    {
        [SerializeField] Button m_FairyFeast;
@@ -23,14 +23,18 @@
        [SerializeField] FairyFeastRankBehaviour[] m_RankBehaviours;
        [SerializeField] FairyFeastRankBehaviour m_TopRank;
        [SerializeField] DungeonMultipleTaskWin.SelectEffect m_SelectEffect;
        [SerializeField] Button m_Transmit;
        [SerializeField] SmoothSlider m_TransmitSlider;
        [SerializeField] Text m_TransmitProgress;
        [SerializeField] Button m_OpenTransmit;
        [SerializeField] Button m_GotoFeast;
        [SerializeField] RectTransform m_ContainerQuestion;
        [SerializeField] Text m_QuestionTime;
        DungeonModel model { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        FairyFeastModel fairyFeastModel { get { return ModelCenter.Instance.GetModel<FairyFeastModel>(); } }
        FairyModel fairyModel { get { return ModelCenter.Instance.GetModel<FairyModel>(); } }
        int currentSelect = 0;
        bool nearNpc = false;
        #region Built-in
        protected override void BindController()
        {
@@ -46,17 +50,21 @@
            {
                Select(1);
            });
            m_Transmit.onClick.AddListener(Transmit);
            m_OpenTransmit.onClick.AddListener(OpenTransmit);
            m_GotoFeast.onClick.AddListener(OnGotoFeast);
        }
        protected override void OnPreOpen()
        {
            nearNpc = false;
            Select(0);
            m_TransmitSlider.ResetValue(0);
            model.updateMissionEvent += UpdateMissionEvent;
            fairyFeastModel.selectTransmit += SelectTransmit;
            fairyFeastModel.transmitStateUpdate += TransmitStateUpdate;
            SelectTransmit();
            GA_NpcCollect.OnArrive += OnArriveCollectNPC;
            GA_NpcCollect.OnLeave += OnLeaveCollectNpc;
            GlobalTimeEvent.Instance.secondEvent += SecondEvent;
            DisplayTransmit();
            DisplayGotoFeast();
            DisplayQuestionTime();
        }
@@ -67,35 +75,15 @@
        protected override void OnPreClose()
        {
            model.updateMissionEvent -= UpdateMissionEvent;
            fairyFeastModel.selectTransmit -= SelectTransmit;
            fairyFeastModel.transmitStateUpdate -= TransmitStateUpdate;
            GA_NpcCollect.OnArrive -= OnArriveCollectNPC;
            GA_NpcCollect.OnLeave -= OnLeaveCollectNpc;
            GlobalTimeEvent.Instance.secondEvent -= SecondEvent;
        }
        protected override void OnAfterClose()
        {
        }
        protected override void LateUpdate()
        {
            if (fairyFeastModel.transmiting)
            {
                if (!m_TransmitSlider.gameObject.activeSelf)
                {
                    m_TransmitSlider.gameObject.SetActive(true);
                }
                var surplusTime = (fairyFeastModel.transmitCompleteTime - DateTime.Now).TotalSeconds;
                var progress = Mathf.Clamp01(1 - (float)surplusTime / fairyFeastModel.transmitCostSeconds);
                m_TransmitSlider.value = progress;
                m_TransmitProgress.text = StringUtility.Contact((int)(progress * 100), "%");
            }
            else
            {
                if (m_TransmitSlider.gameObject.activeSelf)
                {
                    m_TransmitSlider.gameObject.SetActive(false);
                }
            }
        }
        #endregion
        private void Select(int _index)
@@ -129,6 +117,8 @@
            {
                DisplayRank();
            }
            DisplayTransmit();
            DisplayGotoFeast();
        }
        void DisplayRank()
@@ -163,20 +153,89 @@
            return x.rank.CompareTo(y.rank);
        }
        private void SelectTransmit()
        private void OnArriveCollectNPC(uint arg0, int _npcId)
        {
            m_Transmit.gameObject.SetActive(fairyFeastModel.selectPlayer != 0 && fairyFeastModel.allowTransmit
                && !fairyFeastModel.transmiting);
            if (_npcId == fairyModel.fairyFeastDeskNpc)
            {
                nearNpc = true;
                DisplayGotoFeast();
                DisplayTransmit();
            }
        }
        private void Transmit()
        private void OnLeaveCollectNpc(uint arg0, int _npcId)
        {
            fairyFeastModel.Transmit();
            if (_npcId == fairyModel.fairyFeastDeskNpc)
            {
                nearNpc = false;
                DisplayGotoFeast();
                DisplayTransmit();
            }
        }
        private void TransmitStateUpdate()
        private void DisplayTransmit()
        {
            SelectTransmit();
            var mission = model.mission;
            m_OpenTransmit.gameObject.SetActive(mission.hasSit == 0 && !nearNpc);
        }
        private void DisplayGotoFeast()
        {
            var mission = model.mission;
            m_GotoFeast.gameObject.SetActive(mission.hasCollect == 0 && !nearNpc);
        }
        private void SecondEvent()
        {
            DisplayQuestionTime();
        }
        private void DisplayQuestionTime()
        {
            bool requireNoticeQuestionTime = false;
            HourMinute time;
            if (fairyFeastModel.TryGetQuestionTime(out time))
            {
                if (TimeUtility.Hour <= time.hourBegin)
                {
                    if (TimeUtility.Minute < time.minuteBegin)
                    {
                        requireNoticeQuestionTime = true;
                    }
                }
            }
            if (m_ContainerQuestion.gameObject.activeSelf != requireNoticeQuestionTime)
            {
                m_ContainerQuestion.gameObject.SetActive(requireNoticeQuestionTime);
            }
            if (requireNoticeQuestionTime)
            {
                var startTime = new DateTime(TimeUtility.Year, TimeUtility.Month, TimeUtility.Day,
                    time.hourBegin, time.minuteBegin, 0);
                var seconds = Mathf.CeilToInt((float)(startTime - TimeUtility.ServerNow).TotalSeconds);
                m_QuestionTime.text = Language.Get("FairyFeastQuestionTime", TimeUtility.SecondsToDHMSCHS(seconds));
            }
        }
        private void OpenTransmit()
        {
            WindowCenter.Instance.Open<FairyFeastTransmitListWin>();
        }
        private void OnGotoFeast()
        {
            SnxxzGame.Instance.StartCoroutine(Co_HeroMoveToActor(fairyModel.fairyFeastDeskNpc));
        }
        IEnumerator Co_HeroMoveToActor(int _npcId)
        {
            var _hero = PlayerDatas.Instance.hero;
            while (_hero.SkillMgr.CurCastSkill != null &&
                _hero.SkillMgr.CurCastSkill.SkillCompelete == false)
            {
                yield return null;
            }
            MapTransferUtility.Instance.MoveToNPC(_npcId);
        }
    }
}
System/Dungeon/DungeonModel.cs
@@ -557,6 +557,7 @@
            inspireRemindEffective = false;
            inspireNoRemind = false;
            ModelCenter.Instance.GetModel<GatherSoulDungeonModel>().ResetDungeonMessage();
            ModelCenter.Instance.GetModel<FairyFeastModel>().ResetHelpMessage();
        }
        public void UpdateRecords(HA320_tagMCPlayerFBInfoData.tagMCFBInfo[] _serverInfos)
@@ -813,6 +814,7 @@
                    {
                        PlayerDatas.Instance.hero.ShowArrow(false);
                    }
                    ModelCenter.Instance.GetModel<FairyFeastModel>().OnReceiveHelpMessage(_mission);
                    if (GetDungeonHintId(mapId, lineId) != 0)
                    {
                        if (!WindowCenter.Instance.IsOpen<DungeonMissionHintWin>())
System/Dungeon/DungeonTargetBehaviour.cs
@@ -66,7 +66,16 @@
                GetTargetInfo(2, desc, targetValue, step, config.targetType3, npcId);
            }
            descText.text = config.Info.Length > step ? config.Info[step] : config.Info[0];
            switch (dateMapId)
            {
                case GatherSoulDungeonModel.DUNGEON_MAPID:
                    var weel = Mathf.Clamp(model.mission.wheel, 1, int.MaxValue) - 1;
                    descText.text = config.Info.Length > weel ? config.Info[weel] : config.Info[0];
                    break;
                default:
                    descText.text = config.Info.Length > step ? config.Info[step] : config.Info[0];
                    break;
            }
        }
        private void GetTargetInfo(int _index,string desc,int _targetValue,int _targetStep,int _targetType,int npcId=0)
System/FairyAu/FairyFeastBehaviour.cs
File was deleted
System/FairyAu/FairyFeastMemberCell.cs
New file
@@ -0,0 +1,77 @@
using System;
using System.Collections;
using System.Collections.Generic;
using TableConfig;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI
{
    [XLua.Hotfix]
    public class FairyFeastMemberCell : CellView
    {
        [SerializeField] Text m_PlayerName;
        [SerializeField] Text m_Level;
        [SerializeField] Text m_Duty;
        [SerializeField] Text m_State;
        [SerializeField] Image m_Realm;
        [SerializeField] Button m_Transmit;
        FairyFeastModel model
        {
            get { return ModelCenter.Instance.GetModel<FairyFeastModel>(); }
        }
        public void Display(int index)
        {
            m_Transmit.RemoveAllListeners();
            if (index >= model.displayFairyMembers.Count)
            {
                return;
            }
            var fairyMember = model.displayFairyMembers[index];
            m_PlayerName.text = fairyMember.Name;
            m_Level.text = fairyMember.LV.ToString();
            m_Duty.text = Language.Get(string.Format("L102{0}", fairyMember.FamilyLV + 1));
            if (fairyMember.Exattr2 != 0)
            {
                m_State.text = Language.Get("Offline");
                m_State.color = UIHelper.GetUIColor(TextColType.White, true);
            }
            else if (!model.fairyFeastPlayers.Contains(fairyMember.PlayerID)
                && fairyMember.PlayerID != PlayerDatas.Instance.baseData.PlayerID)
            {
                m_State.text = Language.Get("FairyFeastFarFrom");
                m_State.color = UIHelper.GetUIColor(TextColType.Red, true);
            }
            else
            {
                m_State.text = Language.Get("L1025");
                m_State.color = UIHelper.GetUIColor(TextColType.Green, true);
            }
            var realmLevel = fairyMember.OfficialRank;
            var config = Config.Instance.Get<RealmConfig>(realmLevel);
            if (config != null)
            {
                m_Realm.SetSprite(config.Img);
            }
            m_Transmit.gameObject.SetActive(fairyMember.PlayerID != PlayerDatas.Instance.baseData.PlayerID);
            if (fairyMember.PlayerID != PlayerDatas.Instance.baseData.PlayerID)
            {
                m_Transmit.AddListener(() =>
                {
                    OnTransmit(fairyMember);
                });
            }
        }
        private void OnTransmit(PlayerFairyData.FairyMember fairyMember)
        {
            if (fairyMember != null)
            {
                model.Transmit(fairyMember);
            }
        }
    }
}
System/FairyAu/FairyFeastMemberCell.cs.meta
copy from System/FairyAu/FairyFeastBehaviour.cs.meta copy to System/FairyAu/FairyFeastMemberCell.cs.meta
File was copied from System/FairyAu/FairyFeastBehaviour.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 0e45b19a89d401543bc629f6e4b85599
timeCreated: 1529473535
guid: ac5510054e0f6724893f27bd13d63e68
timeCreated: 1544182652
licenseType: Pro
MonoImporter:
  serializedVersion: 2
System/FairyAu/FairyFeastModel.cs
@@ -8,261 +8,154 @@
    [XLua.LuaCallCSharp]
    public class FairyFeastModel : Model, IBeforePlayerDataInitialize
    {
        public uint selectPlayer { get; private set; }
        public bool allowTransmit { get; private set; }
        public bool nearNpc { get; private set; }
        public event Action selectTransmit;
        public event Action transmitStateUpdate;
        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        FairyModel fairyModel { get { return ModelCenter.Instance.GetModel<FairyModel>(); } }
        RoleParticularModel roleParticularModel { get { return ModelCenter.Instance.GetModel<RoleParticularModel>(); } }
        public List<uint> fairyFeastPlayers = new List<uint>();
        public event Action fairyFeastPlayerUpdate;
        public int transmitCostSeconds { get; private set; }
        string expFormula { get; set; }
        public int riseLevel { get; private set; }
        public int expFlyStage { get; private set; }
        public int expFlyCount { get; private set; }
        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()
        {
            ParseConfig();
            GA_Player.s_OnSelected += OnSelected;
            GlobalTimeEvent.Instance.secondEvent += SecondEvent;
            StageManager.Instance.onStageLoadFinish += OnStageLoadFinish;
            dungeonModel.updateMissionEvent += UpdateMissionEvent;
            PrepareHandler.Instance.OnPrepareEndSuccess += OnPrepareEndSuccess;
            GA_NpcCollect.OnArrive += OnArriveNpc;
            GA_NpcCollect.OnLeave += OnLeaveNpc;
            roleParticularModel.viewPlayerUpdate += ViewPlayerUpdate;
        }
        public override void UnInit()
        {
            GA_Player.s_OnSelected -= OnSelected;
            GlobalTimeEvent.Instance.secondEvent -= SecondEvent;
            StageManager.Instance.onStageLoadFinish -= OnStageLoadFinish;
            dungeonModel.updateMissionEvent -= UpdateMissionEvent;
            PrepareHandler.Instance.OnPrepareEndSuccess -= OnPrepareEndSuccess;
            GA_NpcCollect.OnArrive -= OnArriveNpc;
            GA_NpcCollect.OnLeave -= OnLeaveNpc;
            roleParticularModel.viewPlayerUpdate -= ViewPlayerUpdate;
        }
        public void OnBeforePlayerDataInitialize()
        {
            transmitCompleteTime = TimeUtility.ClientOriginalTime;
            if (transmitClock != null)
            {
                transmitClock.Stop();
                transmitClock = null;
            }
            fairyFeastPlayers.Clear();
            transmitPlayer = 0;
        }
        private void OnStageLoadFinish()
        {
            selectPlayer = 0;
            nearNpc = false;
            if (transmitClock != null)
            {
                transmitClock.Stop();
                transmitClock = null;
            }
        }
        private void SecondEvent()
        {
            if (selectPlayer != 0)
            {
                var actor = GAMgr.Instance.GetBySID(selectPlayer);
                bool update = false;
                if (actor == null || !(actor is GA_Player))
                {
                    selectPlayer = 0;
                    update = true;
                }
                else
                {
                    var player = actor as GA_Player;
                    var hero = PlayerDatas.Instance.hero;
                    if (SatisfyTransmitState())
                    {
                        var distance = MathUtility.CalDistance(player.Pos, hero.Pos);
                        if (allowTransmit != (distance <= transmitDistance))
                        {
                            allowTransmit = distance <= transmitDistance;
                            update = true;
                        }
                    }
                    else
                    {
                        if (allowTransmit)
                        {
                            allowTransmit = false;
                            update = true;
                        }
                    }
                }
                if (update && selectTransmit != null)
                {
                    selectTransmit();
                }
            }
        }
        private void OnArriveNpc(uint arg0, int _npcId)
        {
            if (_npcId == fairyModel.fairyFeastDeskNpc)
            {
                nearNpc = true;
                SecondEvent();
            }
        }
        private void OnLeaveNpc(uint arg0, int _npcId)
        {
            if (_npcId == fairyModel.fairyFeastDeskNpc)
            {
                nearNpc = false;
                SecondEvent();
            }
        }
        float transmitDistance = 2f;
        public int transmitCostSeconds { get; private set; }
        void ParseConfig()
        {
            var config = Config.Instance.Get<FuncConfigConfig>("FairyFeastTransmit");
            transmitCostSeconds = 15;
            expFlyCount = 3;
            expFlyStage = 3;
            if (config != null)
            {
                transmitDistance = float.Parse(config.Numerical1);
                transmitCostSeconds = int.Parse(config.Numerical2);
                expFlyStage = int.Parse(config.Numerical3);
                expFlyCount = int.Parse(config.Numerical4);
            }
        }
            config = Config.Instance.Get<FuncConfigConfig>("FamilyPartySitAward");
            expFormula = config.Numerical1;
            riseLevel = int.Parse(config.Numerical2);
        bool SatisfyTransmitState()
        {
            var hero = PlayerDatas.Instance.hero;
            if (hero == null || hero.IsCollect()
                || hero.IsCollect() || hero.IsDaZuo() || nearNpc)
            var list = DungeonStateTimeConfig.DungeonStateTimes(31230);
            for (int i = 0; i < list.Count; i++)
            {
                return false;
            }
            return true;
        }
        private void OnSelected(uint serverInstId, bool select)
        {
            var mapId = PlayerDatas.Instance.baseData.MapID;
            if (mapId != 31230)
            {
                return;
            }
            if (transmiting)
            {
                return;
            }
            var mission = dungeonModel.mission;
            if (mission.hasSit == 1)
            {
                return;
            }
            selectPlayer = 0;
            allowTransmit = false;
            if (select)
            {
                var actor = GAMgr.Instance.GetBySID(serverInstId);
                if (actor != null && actor is GA_Player)
                if (list[i].StateValue == 2)
                {
                    var player = actor as GA_Player;
                    var hero = PlayerDatas.Instance.hero;
                    var distance = MathUtility.CalDistance(player.Pos, hero.Pos);
                    if (SatisfyTransmitState())
                    var dayOfWeek = list[i].StartWeekday % 7;
                    if (!normalQuestionTimes.ContainsKey(dayOfWeek))
                    {
                        allowTransmit = distance <= transmitDistance;
                    }
                    selectPlayer = serverInstId;
                }
            }
            if (selectTransmit != null)
            {
                selectTransmit();
            }
        }
        /// <summary>
        /// 仙盟宴会采集结束
        /// </summary>
        private void OnPrepareEndSuccess()
        {
            var mapId = PlayerDatas.Instance.baseData.MapID;
            if (mapId != 31230)
            {
                return;
            }
            var mission = dungeonModel.mission;
            if (mission.hasSit == 1)
            {
                return;
            }
            if (!WindowCenter.Instance.IsOpen<MainInterfaceWin>()
                || WindowCenter.Instance.ExitAnyFullScreenOrMaskWin())
            {
                return;
            }
            var list = GAMgr.Instance.GetTypeList(E_ActorClassType.Player);
            if (list != null)
            {
                var hero = PlayerDatas.Instance.hero;
                for (int i = 0; i < list.Count; i++)
                {
                    var player = list[i] as GA_Player;
                    if (player != null)
                    {
                        var distance = MathUtility.CalDistance(player.Pos, hero.Pos);
                        if (distance < transmitDistance)
                        normalQuestionTimes.Add(dayOfWeek, new HourMinute()
                        {
                            player.OnClick();
                            return;
                        }
                            hourBegin = list[i].StartHour,
                            hourEnd = list[i].EndHour,
                            minuteBegin = list[i].StartMinute,
                            minuteEnd = list[i].EndMinute,
                        });
                    }
                }
            }
            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,
                        });
                    }
                }
            }
        }
        private void UpdateMissionEvent()
        public bool TryGetQuestionTime(out HourMinute time)
        {
            var mapId = PlayerDatas.Instance.baseData.MapID;
            if (mapId != 31230)
            time = default(HourMinute);
            bool isSpecial = TimeUtility.OpenWeekCnt <= 1;
            if (isSpecial)
            {
                return;
            }
            var mission = dungeonModel.mission;
            if (mission.hasSit == 1 && selectPlayer != 0)
            {
                selectPlayer = 0;
                if (selectTransmit != null)
                var openDayWeek = (int)TimeUtility.openServerDayOfWeek;
                if (specialQuestionTime.ContainsKey(openDayWeek))
                {
                    selectTransmit();
                    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;
                }
            }
            return false;
        }
        public void OnReceiveHelpMessage(string _mission)
        {
            var json = LitJson.JsonMapper.ToObject(_mission);
            if (json != null && json.Keys.Contains("familyPartyPlayer"))
            {
                fairyFeastPlayers.Clear();
                var array = LitJson.JsonMapper.ToObject<uint[]>(json["familyPartyPlayer"].ToJson());
                if (array != null)
                {
                    fairyFeastPlayers.AddRange(array);
                }
                if (fairyFeastPlayerUpdate != null)
                {
                    fairyFeastPlayerUpdate();
                }
            }
        }
        #region 服务端数据
        public DateTime transmitCompleteTime { get; private set; }
        public bool transmiting
        public void ResetHelpMessage()
        {
            get
            {
                return DateTime.Now < transmitCompleteTime;
            }
        }
        private Clock transmitClock = null;
        public void Transmit()
        {
            if (selectPlayer != 0)
            {
                CA508_tagCMDoFBAction pak = new CA508_tagCMDoFBAction();
                pak.ActionType = 0;
                pak.ActionInfo = selectPlayer;
                GameNetSystem.Instance.SendInfo(pak);
            }
            fairyFeastPlayers.Clear();
            transmitPlayer = 0;
        }
        public void UpdateTransmitState(H0411_tagPlayerSit package)
@@ -274,37 +167,66 @@
            }
            if (package.Type == 0)
            {
                transmitCompleteTime = DateTime.Now.AddTicks(transmitCostSeconds * TimeSpan.TicksPerSecond);
                transmitClock = Clock.Create(transmitCostSeconds, TransmitComplete);
            }
            else
            {
                if (transmitClock != null)
                totalExp = 0;
                var level = PlayerDatas.Instance.baseData.LV;
                var worldLevel = PlayerDatas.Instance.worldLv;
                for (int i = 0; i < riseLevel; i++)
                {
                    transmitClock.Stop();
                    transmitClock = null;
                    var config = Config.Instance.Get<PlayerLVConfig>(level + 1);
                    totalExp += (ulong)config.EXP1 * Constants.ExpPointValue + (ulong)config.EXP2;
                }
                transmitCompleteTime = TimeUtility.ClientOriginalTime;
            }
            if (transmitStateUpdate != null)
            {
                transmitStateUpdate();
                var levelConfig = Config.Instance.Get<PlayerLVConfig>(level + riseLevel);
                Equation.Instance.Clear();
                Equation.Instance.AddKeyValue("worldlv", worldLevel);
                Equation.Instance.AddKeyValue("reLV", level + riseLevel);
                Equation.Instance.AddKeyValue("reExp", levelConfig.ReExp);
                totalExp += Equation.Instance.Eval<ulong>(expFormula);
                FairyFeastTransmitShow.Instance.Open();
            }
        }
        void TransmitComplete()
        public void TransmitComplete()
        {
            transmitClock = null;
            CA508_tagCMDoFBAction pak = new CA508_tagCMDoFBAction();
            pak.ActionType = 1;
            pak.ActionInfo = 0;
            GameNetSystem.Instance.SendInfo(pak);
            if (transmitStateUpdate != null)
        }
        public List<PlayerFairyData.FairyMember> displayFairyMembers = new List<PlayerFairyData.FairyMember>();
        public uint transmitPlayer = 0;
        public void Transmit(PlayerFairyData.FairyMember fairyMember)
        {
            if (fairyMember.PlayerID == PlayerDatas.Instance.baseData.PlayerID)
            {
                transmitStateUpdate();
                return;
            }
            if (fairyMember.Exattr2 != 0)
            {
                SysNotifyMgr.Instance.ShowTip("FairyFeastPlayerOffline");
                return;
            }
            if (!fairyFeastPlayers.Contains(fairyMember.PlayerID))
            {
                SysNotifyMgr.Instance.ShowTip("FairyFeastPlayerFarfrom");
                return;
            }
            transmitPlayer = fairyMember.PlayerID;
            roleParticularModel.ViewFairyFeastTransmit((int)fairyMember.PlayerID);
            CA508_tagCMDoFBAction pak = new CA508_tagCMDoFBAction();
            pak.ActionType = 0;
            pak.ActionInfo = transmitPlayer;
            GameNetSystem.Instance.SendInfo(pak);
        }
        private void ViewPlayerUpdate(int type, RoleParticularModel.ViewPlayerData data)
        {
            if (type == 3)
            {
            }
        }
        #endregion
    }
}
System/FairyAu/FairyFeastTransmitListWin.cs
New file
@@ -0,0 +1,133 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Friday, December 07, 2018
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI
{
    [XLua.Hotfix]
    public class FairyFeastTransmitListWin : Window
    {
        [SerializeField] Button m_Close;
        [SerializeField] Button m_Refresh;
        [SerializeField] ScrollerController m_ScrollerControl;
        FairyModel model
        {
            get { return ModelCenter.Instance.GetModel<FairyModel>(); }
        }
        FairyFeastModel fairyFeastModel
        {
            get { return ModelCenter.Instance.GetModel<FairyFeastModel>(); }
        }
        #region Built-in
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        {
            m_Close.onClick.AddListener(CloseClick);
            m_Refresh.onClick.AddListener(Refresh);
            m_ScrollerControl.OnRefreshCell += OnRefreshCell;
        }
        protected override void OnPreOpen()
        {
            C0F07_tagCGetFamilyInfo pak = new C0F07_tagCGetFamilyInfo();
            pak.Type = 0;
            GameNetSystem.Instance.SendInfo(pak);
            PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += DisplayFairyMembers;
            fairyFeastModel.fairyFeastPlayerUpdate += FairyFeastPlayerUpdate;
            DisplayFairyMembers();
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
            PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= DisplayFairyMembers;
            fairyFeastModel.fairyFeastPlayerUpdate -= FairyFeastPlayerUpdate;
            fairyFeastModel.displayFairyMembers.Clear();
        }
        protected override void OnAfterClose()
        {
        }
        #endregion
        private void Refresh()
        {
            C0F07_tagCGetFamilyInfo pak = new C0F07_tagCGetFamilyInfo();
            pak.Type = 0;
            GameNetSystem.Instance.SendInfo(pak);
        }
        private void OnRefreshCell(ScrollerDataType type, CellView cell)
        {
            var fairyMemberCell = cell as FairyFeastMemberCell;
            fairyMemberCell.Display(cell.index);
        }
        private void FairyFeastPlayerUpdate()
        {
            m_ScrollerControl.m_Scorller.RefreshActiveCellViews();
        }
        void DisplayFairyMembers()
        {
            fairyFeastModel.displayFairyMembers.Clear();
            m_ScrollerControl.Refresh();
            PlayerFairyData.FairyData fairy = PlayerDatas.Instance.fairyData.fairy;
            if (fairy != null)
            {
                List<PlayerFairyData.FairyMember> list = fairy.Member;
                if (list != null)
                {
                    fairyFeastModel.displayFairyMembers.AddRange(list);
                }
                fairyFeastModel.displayFairyMembers.Sort(Compare);
                for (int i = 0; i < fairyFeastModel.displayFairyMembers.Count; i++)
                {
                    m_ScrollerControl.AddCell(i % 2 == 0 ? ScrollerDataType.Header : ScrollerDataType.Normal, i);
                }
            }
            m_ScrollerControl.Restart();
        }
        int Compare(PlayerFairyData.FairyMember lhs, PlayerFairyData.FairyMember rhs)
        {
            bool lOnline = lhs.Exattr2 == 0;
            bool rOnline = rhs.Exattr2 == 0;
            if (lOnline.CompareTo(rOnline) != 0)
            {
                return lhs.Exattr2.CompareTo(rhs.Exattr2);
            }
            if (lhs.LV.CompareTo(rhs.LV) != 0)
            {
                return -lhs.LV.CompareTo(rhs.LV);
            }
            if (lhs.FamilyLV.CompareTo(rhs.FamilyLV) != 0)
            {
                return -lhs.FamilyLV.CompareTo(rhs.FamilyLV);
            }
            return 1;
        }
    }
}
System/FairyAu/FairyFeastTransmitListWin.cs.meta
copy from System/FairyAu/FairyFeastBehaviour.cs.meta copy to System/FairyAu/FairyFeastTransmitListWin.cs.meta
File was copied from System/FairyAu/FairyFeastBehaviour.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 0e45b19a89d401543bc629f6e4b85599
timeCreated: 1529473535
guid: 687f7ee760838274bbf9f16e2bf270de
timeCreated: 1544181539
licenseType: Pro
MonoImporter:
  serializedVersion: 2
System/FairyAu/FairyFeastTransmitShow.cs
New file
@@ -0,0 +1,552 @@
using System;
using System.Collections;
using System.Collections.Generic;
using TableConfig;
using UnityEngine;
namespace Snxxz.UI
{
    [XLua.Hotfix]
    public class FairyFeastTransmitShow : MonoBehaviour
    {
        static FairyFeastTransmitShow s_Instance = null;
        public static FairyFeastTransmitShow Instance
        {
            get
            {
                if (s_Instance == null)
                {
                    var gameObject = Instantiate(UILoader.LoadPrefab("FairyFeastTransmitShow"));
                    s_Instance = gameObject.GetComponent<FairyFeastTransmitShow>();
                    s_Instance.transform.position = new Vector3(0, 4000, 5000);
                    s_Instance.name = "FairyFeastTransmitShow";
                    s_Instance.IsOpen = false;
                    s_Instance.gameObject.SetActive(true);
                    DontDestroyOnLoad(gameObject);
                }
                return s_Instance;
            }
        }
        Camera m_ShowCamera;
        Transform m_ShowPoint1;
        Transform m_ShowPoint2;
        FairyTransmitModel m_Hero;
        FairyTransmitModel m_Player;
        SFXController m_Effect;
        public Camera showCamera
        {
            get { return m_ShowCamera; }
        }
        public FairyTransmitModel hero
        {
            get { return m_Hero; }
        }
        public FairyTransmitModel player
        {
            get { return m_Player; }
        }
        public bool IsOpen
        {
            get; private set;
        }
        public float progress
        {
            get
            {
                return timer / model.transmitCostSeconds;
            }
        }
        float timer = 0f;
        int stage = 0;
        PlayerPackModel playerPack { get { return ModelCenter.Instance.GetModel<PlayerPackModel>(); } }
        RoleParticularModel roleParticularModel { get { return ModelCenter.Instance.GetModel<RoleParticularModel>(); } }
        FairyFeastModel model { get { return ModelCenter.Instance.GetModel<FairyFeastModel>(); } }
        public event Action<ulong> popUpExpEvent;
        public event Action onComplete;
        public void Open()
        {
            if (IsOpen)
            {
                return;
            }
            try
            {
                IsOpen = true;
                timer = 0f;
                stage = 0;
                transform.position = Vector3.zero;
                if (m_Effect != null)
                {
                    SFXPlayUtility.Instance.Release(m_Effect);
                    m_Effect = null;
                }
                m_Effect = SFXPlayUtility.Instance.Play(3075, transform);
                m_Effect.transform.SetParent(transform);
                m_Effect.gameObject.SetActive(true);
                m_Effect.duration = 0;
                m_Effect.transform.localPosition = Vector3.zero;
                LayerUtility.SetLayer(m_Effect.gameObject, LayerUtility.BossShow, true);
                m_ShowCamera = m_Effect.transform.GetComponentInChildren<Camera>();
                m_ShowPoint1 = m_Effect.transform.Find("Ca/Animaiotn/gua1");
                m_ShowPoint2 = m_Effect.transform.Find("Ca/Animaiotn/gua2");
                m_ShowCamera.enabled = true;
                WindowJumpMgr.Instance.ClearJumpData();
                WindowCenter.Instance.CloseAll(WindowCenter.CloseAllIgnoreType.BaseAndCustom);
                WindowCenter.Instance.Open<MainInterfaceWin>();
                HideUI();
                DisplayPlayer();
                WindowCenter.Instance.Open<FairyFeastTransmitShowWin>(true);
                m_ShowCamera.gameObject.SetActive(true);
                CameraController.Instance.CameraObject.gameObject.SetActive(false);
                StageManager.Instance.onStartStageLoadingEvent -= OnStartStageLoadingEvent;
                StageManager.Instance.onStartStageLoadingEvent += OnStartStageLoadingEvent;
            }
            catch (Exception e)
            {
                Stop();
                DebugEx.LogError(e.StackTrace);
            }
        }
        private void OnStartStageLoadingEvent(int obj)
        {
            Stop();
        }
        private void LateUpdate()
        {
            if (IsOpen)
            {
                timer += Time.deltaTime;
                if (timer >= model.transmitCostSeconds)
                {
                    Stop();
                    return;
                }
                if (timer >= stage * model.transmitCostSeconds / (model.expFlyStage + 1))
                {
                    StepStage();
                    stage++;
                }
            }
        }
        void StepStage()
        {
            if (stage > 0 && stage <= model.expFlyStage)
            {
                if (popUpExpEvent != null)
                {
                    var exp = model.totalExp
                        / (ulong)model.expFlyStage
                        / (ulong)model.expFlyCount;
                    for (int i = 0; i < model.expFlyCount; i++)
                    {
                        popUpExpEvent(exp);
                    }
                }
            }
        }
        void HideUI()
        {
            UIRoot uiRoot = WindowCenter.Instance.uiRoot;
            uiRoot.EnableCanvas(false, uiRoot.baseCanvas,
                                      uiRoot.lifeBarCanvas,
                                      uiRoot.nameCanvas,
                                      uiRoot.normalCanvas,
                                      uiRoot.modalCanvas,
                                      uiRoot.tipsCanvas,
                                      uiRoot.systemCanvas,
                                      uiRoot.recycleBin,
                                      uiRoot.fightCanvasGroup.damageNumGroups[0].parent);
            CameraUtility.RemoveCullingMask(CameraManager.uiCamera, LayerUtility.UIEffectLayer);
        }
        void OpenUI()
        {
            UIRoot uiRoot = WindowCenter.Instance.uiRoot;
            uiRoot.EnableCanvas(true, uiRoot.baseCanvas,
                                      uiRoot.lifeBarCanvas,
                                      uiRoot.nameCanvas,
                                      uiRoot.normalCanvas,
                                      uiRoot.modalCanvas,
                                      uiRoot.tipsCanvas,
                                      uiRoot.systemCanvas,
                                      uiRoot.recycleBin,
                                      uiRoot.fightCanvasGroup.damageNumGroups[0].parent);
            CameraUtility.AddCullingMask(CameraManager.uiCamera, LayerUtility.UIEffectLayer);
        }
        void DisplayPlayer()
        {
            var clothes = playerPack.GetItemModelByIndex(PackType.rptEquip, (int)RoleEquipType.retClothes);
            var clothesId = clothes == null ? 0 : (int)clothes.itemInfo.ItemID;
            var wings = playerPack.GetItemModelByIndex(PackType.rptEquip, (int)RoleEquipType.retWing);
            var wingsId = wings == null ? 0 : (int)wings.itemInfo.ItemID;
            var secondary = playerPack.GetItemModelByIndex(PackType.rptEquip, (int)RoleEquipType.retWeapon2);
            var secondaryId = secondary == null ? 0 : (int)secondary.itemInfo.ItemID;
            var magicianModel = ModelCenter.Instance.GetModel<MagicianModel>();
            var godWeapon1 = magicianModel.GetGodWeaponInfo(1);
            var godWeapon2 = magicianModel.GetGodWeaponInfo(2);
            var godWeapon3 = magicianModel.GetGodWeaponInfo(3);
            var godWeapon4 = magicianModel.GetGodWeaponInfo(4);
            var data = new UI3DPlayerExhibitionData
            {
                job = PlayerDatas.Instance.baseData.Job,
                clothesId = clothesId,
                suitLevel = 0,
                weaponId = 0,
                wingsId = wingsId,
                secondaryId = secondaryId,
                isDialogue = false,
                godWeapons = null
            };
            if (m_Hero != null)
            {
                m_Hero.Dispose();
            }
            m_Hero = new FairyTransmitModel();
            m_Hero.Show(data, m_ShowPoint2);
            m_Hero.SitDown();
            var viewPlayerData = roleParticularModel.GetViewPlayerData((int)model.transmitPlayer);
            if (viewPlayerData != null)
            {
                clothesId = 0;
                var itemData = roleParticularModel.GetItemData(RoleEquipType.retClothes);
                if (itemData != null)
                {
                    clothesId = itemData.ItemID;
                }
                wingsId = 0;
                itemData = roleParticularModel.GetItemData(RoleEquipType.retWing);
                if (itemData != null)
                {
                    wingsId = itemData.ItemID;
                }
                secondaryId = 0;
                itemData = roleParticularModel.GetItemData(RoleEquipType.retWeapon2);
                if (itemData != null)
                {
                    secondaryId = itemData.ItemID;
                }
                data = new UI3DPlayerExhibitionData
                {
                    job = viewPlayerData.rolePropData.Job,
                    clothesId = clothesId,
                    suitLevel = 0,
                    weaponId = 0,
                    wingsId = wingsId,
                    secondaryId = secondaryId,
                    godWeapons = null,
                    isDialogue = false,
                };
                if (m_Player != null)
                {
                    m_Player.Dispose();
                }
                m_Player = new FairyTransmitModel();
                m_Player.Show(data, m_ShowPoint1);
                m_Player.Transmit();
            }
        }
        public void Stop()
        {
            IsOpen = false;
            model.TransmitComplete();
            OpenUI();
            WindowCenter.Instance.CloseImmediately<FairyFeastTransmitShowWin>();
            CameraController.Instance.CameraObject.gameObject.SetActive(true);
            StageManager.Instance.onStartStageLoadingEvent -= OnStartStageLoadingEvent;
            transform.localPosition = new Vector3(0, 4000, 5000);
            if (m_ShowCamera != null)
            {
                m_ShowCamera.enabled = false;
            }
            if (m_Effect != null)
            {
                m_Effect.gameObject.SetActive(false);
                SFXPlayUtility.Instance.Release(m_Effect);
                m_Effect = null;
            }
            if (m_Hero != null)
            {
                m_Hero.Dispose();
                m_Hero = null;
            }
            if (m_Player != null)
            {
                m_Player.Dispose();
                m_Player = null;
            }
            if (onComplete != null)
            {
                onComplete();
            }
        }
        public class FairyTransmitModel
        {
            Transform showPoint;
            int job = 1;
            GameObject clothesModel;
            Animator clothesAnimator;
            GameObject secondaryModel;
            GameObject wingsModel;
            Animator wingsAnimator;
            public Transform MP_Name { get; private set; }
            public void Show(UI3DPlayerExhibitionData data, Transform showPoint)
            {
                this.showPoint = showPoint;
                this.job = data.job;
                var clothes = data.clothesId;
                var wingsId = data.wingsId;
                var secondaryId = data.secondaryId;
                var godWeapons = data.godWeapons;
                var jobConfig = Config.Instance.Get<JobSetupConfig>(job);
                var clothesResId = 0;
                if (clothes == 0)
                {
                    clothesResId = jobConfig.BaseEquip[0];
                }
                else
                {
                    var item = Config.Instance.Get<ItemConfig>(clothes);
                    clothesResId = item == null ? clothesResId = jobConfig.BaseEquip[0] : item.ChangeOrd;
                }
                PutOnClothes(clothesResId);
                var secondaryResId = 0;
                if (secondaryId == 0)
                {
                    if (this.job == 1)
                    {
                        secondaryResId = clothes + 2900;
                    }
                    else
                    {
                        secondaryResId = jobConfig.BaseEquip[2];
                    }
                }
                else
                {
                    var item = Config.Instance.Get<ItemConfig>(secondaryId);
                    secondaryResId = item == null ? jobConfig.BaseEquip[2] : item.ChangeOrd;
                }
                PutOnSecondary(secondaryResId);
                var wingsResId = 0;
                if (wingsId != 0)
                {
                    var item = Config.Instance.Get<ItemConfig>(wingsId);
                    wingsResId = item == null ? 0 : item.ChangeOrd;
                }
                PutOnWing(wingsResId);
                SwitchMaterial(clothesResId, false);
            }
            public void PutOnClothes(int clothesResId)
            {
                var config = Config.Instance.Get<JobSetupConfig>(job);
                var _prefab = InstanceResourcesLoader.LoadModelRes(clothesResId, true);
                if (!_prefab)
                {
                    clothesResId = config.BaseEquip[0];
                }
                LoadClothes(clothesResId);
            }
            private void LoadClothes(int clothesResId)
            {
                var prefab = InstanceResourcesLoader.LoadModelRes(clothesResId, true);
                if (prefab)
                {
                    clothesModel = GameObject.Instantiate(prefab);
                    LayerUtility.SetLayer(clothesModel, LayerUtility.BossShow, false);
                    var skinnedMeshRenderer = clothesModel.GetComponentInChildren<SkinnedMeshRenderer>(true);
                    LayerUtility.SetLayer(skinnedMeshRenderer.gameObject, LayerUtility.BossShow, false);
                    clothesModel.SetActive(true);
                    clothesModel.transform.SetParentEx(showPoint, Vector3.zero, Quaternion.identity, Vector3.one);
                    clothesAnimator = clothesModel.GetComponent<Animator>();
                    MP_Name = clothesModel.transform.GetChildTransformDeeply("A_Name");
                    if (!MP_Name)
                    {
                        MP_Name = clothesModel.transform;
                    }
                    if (clothesAnimator)
                    {
                        RuntimeAnimatorController _controller = AnimatorControllerLoader.Load(AnimatorControllerLoader.controllerUISuffix, clothesResId);
                        clothesAnimator.runtimeAnimatorController = _controller;
                        clothesAnimator.enabled = true;
                    }
                    else
                    {
                        DebugEx.LogErrorFormat("角色资源: {0} 没有动画控制器", clothesResId);
                    }
                }
            }
            public void SwitchMaterial(int clothesId, bool isSuit)
            {
                if (clothesModel == null)
                {
                    return;
                }
                var smRenderer = clothesModel.GetComponentInChildren<SkinnedMeshRenderer>();
                if (smRenderer == null)
                {
                    return;
                }
                MaterialLoader.Release(smRenderer.material);
                var newMat = MaterialLoader.LoadClothesMaterial(clothesId, true, isSuit);
                if (newMat != null)
                {
                    smRenderer.material = newMat;
                }
            }
            private void PutOnSecondary(int secondaryResId)
            {
                if (secondaryResId != 0)
                {
                    var prefab = InstanceResourcesLoader.LoadModelRes(secondaryResId);
                    if (!prefab)
                    {
                        var config = Config.Instance.Get<JobSetupConfig>(job);
                        secondaryResId = config.BaseEquip[2];
                        prefab = InstanceResourcesLoader.LoadModelRes(secondaryResId);
                    }
                    if (prefab)
                    {
                        secondaryModel = GameObject.Instantiate(prefab);
                        secondaryModel.layer = LayerUtility.BossShow;
                        var parent = clothesModel.transform.GetChildTransformDeeply(GAStaticDefine.SecondaryBindBoneName[job - 1]);
                        secondaryModel.transform.SetParentEx(parent, Vector3.zero, Quaternion.identity, Vector3.one);
                    }
                }
            }
            private void PutOnWing(int resourceId)
            {
                var config = Config.Instance.Get<JobSetupConfig>(job);
                if (resourceId != 0)
                {
                    var prefab = InstanceResourcesLoader.LoadModelRes(resourceId);
                    if (!prefab)
                    {
                        resourceId = config.BaseEquip[3];
                        prefab = InstanceResourcesLoader.LoadModelRes(resourceId);
                    }
                    if (prefab)
                    {
                        wingsModel = GameObject.Instantiate(prefab);
                        wingsModel.layer = LayerUtility.BossShow;
                        SkinnedMeshRenderer _renderer = wingsModel.GetComponentInChildren<SkinnedMeshRenderer>();
                        if (_renderer)
                        {
                            _renderer.gameObject.layer = LayerUtility.BossShow;
                        }
                        var parent = clothesModel.transform.GetChildTransformDeeply(GAStaticDefine.WingBindBoneName);
                        var modelResConfig = Config.Instance.Get<ModelResConfig>(resourceId);
                        wingsModel.transform.SetParentEx(parent, Vector3.zero, Quaternion.identity, modelResConfig.UIScale);
                        wingsAnimator = wingsModel.GetComponent<Animator>();
                        wingsAnimator.enabled = true;
                        wingsAnimator.Play("UI_Idle", 0);
                    }
                }
            }
            public void Transmit()
            {
                if (clothesAnimator)
                {
                    clothesAnimator.Play(GAStaticDefine.State_Transmit);
                }
            }
            public void SitDown()
            {
                if (clothesAnimator)
                {
                    clothesAnimator.Play(GAStaticDefine.State_SitDown);
                }
            }
            public void Dispose()
            {
                if (clothesModel != null)
                {
                    var smRenderer = clothesModel.GetComponentInChildren<SkinnedMeshRenderer>();
                    if (smRenderer != null)
                    {
                        MaterialLoader.Release(smRenderer.material);
                        smRenderer.material = smRenderer.sharedMaterial = null;
                        smRenderer.materials = smRenderer.sharedMaterials = new Material[0];
                    }
                    Destroy(clothesModel);
                }
                if (secondaryModel != null)
                {
                    Destroy(secondaryModel);
                }
                if (wingsModel != null)
                {
                    Destroy(wingsModel);
                }
            }
        }
    }
}
System/FairyAu/FairyFeastTransmitShow.cs.meta
copy from System/FairyAu/FairyFeastBehaviour.cs.meta copy to System/FairyAu/FairyFeastTransmitShow.cs.meta
File was copied from System/FairyAu/FairyFeastBehaviour.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 0e45b19a89d401543bc629f6e4b85599
timeCreated: 1529473535
guid: 8e985917b3bb0054c8cb4004183fdf30
timeCreated: 1544184132
licenseType: Pro
MonoImporter:
  serializedVersion: 2
System/FairyAu/FairyFeastTransmitShowWin.cs
New file
@@ -0,0 +1,201 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Friday, December 07, 2018
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI
{
    [XLua.Hotfix]
    public class FairyFeastTransmitShowWin : Window
    {
        GameObjectPoolManager.GameObjectPool m_PopUpNumPool;
        List<ulong> m_PopExpQueue = new List<ulong>();
        List<FairyTransmitPopUpExp> m_PopUpBehaviours = new List<FairyTransmitPopUpExp>();
        float lastPopUpTime = 0f;
        [SerializeField] Transform m_PopUpExpPoint;
        [SerializeField] SmoothSlider m_Slider;
        [SerializeField] Text m_Progress;
        [SerializeField] float m_PopUpInterval = 0.1f;
        [SerializeField] HeadUpName m_HeadUpHero;
        [SerializeField] HeadUpName m_HeadUpPlayer;
        FairyFeastModel model
        {
            get { return ModelCenter.Instance.GetModel<FairyFeastModel>(); }
        }
        RoleParticularModel roleParticularModel
        {
            get { return ModelCenter.Instance.GetModel<RoleParticularModel>(); }
        }
        int progressDisplay = 0;
        #region Built-in
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        {
        }
        protected override void OnPreOpen()
        {
            FairyFeastTransmitShow.Instance.popUpExpEvent += PopUpExpEvent;
            m_Slider.ResetValue(0f);
            DisplayHeadUpName();
        }
        protected override void OnAfterOpen()
        {
            m_HeadUpHero.SyncPosition(true);
            m_HeadUpPlayer.SyncPosition(true);
        }
        protected override void OnPreClose()
        {
            FairyFeastTransmitShow.Instance.popUpExpEvent -= PopUpExpEvent;
            for (int i = 0; i < m_PopUpBehaviours.Count; i++)
            {
                ReleaseTransmitPopExp(m_PopUpBehaviours[i].gameObject);
            }
            m_PopUpBehaviours.Clear();
            m_PopExpQueue.Clear();
        }
        protected override void OnAfterClose()
        {
        }
        protected override void LateUpdate()
        {
            var progress = Mathf.Clamp01(FairyFeastTransmitShow.Instance.progress);
            m_Slider.value = progress;
            if ((int)(progress * 100) != progressDisplay)
            {
                progressDisplay = (int)(progress * 100);
                m_Progress.text = StringUtility.Contact(Language.Get("FeastTransmiting"),
                                progressDisplay, "%");
            }
            if (m_PopExpQueue.Count > 0)
            {
                if (Time.time - lastPopUpTime >= m_PopUpInterval)
                {
                    lastPopUpTime = Time.time;
                    var exp = m_PopExpQueue[0];
                    m_PopExpQueue.RemoveAt(0);
                    PopUpExp(exp);
                }
            }
        }
        #endregion
        private void DisplayHeadUpName()
        {
            m_HeadUpHero.pattern = HeadUpName.Pattern.Hero;
            m_HeadUpHero.camera = FairyFeastTransmitShow.Instance.showCamera;
            var hero = FairyFeastTransmitShow.Instance.hero;
            if (hero != null)
            {
                m_HeadUpHero.target = hero.MP_Name;
            }
            m_HeadUpHero.offset = new Vector3(0, 0, 0);
            var realmLevel = PlayerDatas.Instance.baseData.realmLevel;
            var name = UIHelper.ServerStringTrim(PlayerDatas.Instance.baseData.PlayerName);
            var familyName = UIHelper.ServerStringTrim(PlayerDatas.Instance.baseData.FamilyName);
            m_HeadUpHero.SetPlayerInfo(realmLevel, 0, name, familyName, false);
            m_HeadUpHero.SyncPosition(true);
            m_HeadUpPlayer.pattern = HeadUpName.Pattern.Player;
            m_HeadUpPlayer.camera = FairyFeastTransmitShow.Instance.showCamera;
            var player = FairyFeastTransmitShow.Instance.player;
            if (player != null)
            {
                m_HeadUpPlayer.target = player.MP_Name;
            }
            m_HeadUpPlayer.offset = new Vector3(0, 0, 0);
            var viewPlayerData = roleParticularModel.GetViewPlayerData((int)model.transmitPlayer);
            if (viewPlayerData != null)
            {
                realmLevel = (byte)viewPlayerData.rolePropData.RealmLV;
                name = UIHelper.ServerStringTrim(viewPlayerData.rolePropData.Name);
                familyName = UIHelper.ServerStringTrim(viewPlayerData.rolePropData.FamilyName);
                m_HeadUpPlayer.SetPlayerInfo(realmLevel, 0, name, familyName, false);
            }
        }
        private void PopUpExpEvent(ulong exp)
        {
            m_PopExpQueue.Add(exp);
        }
        private void PopUpExp(ulong exp)
        {
            var go = RequireTransmitPopExp();
            if (go)
            {
                var popUpExp = go.GetComponent<FairyTransmitPopUpExp>();
                popUpExp.transform.SetParent(m_PopUpExpPoint);
                popUpExp.transform.localPosition = Vector3.zero;
                popUpExp.transform.localEulerAngles = Vector3.zero;
                popUpExp.transform.localScale = Vector3.one;
                popUpExp.gameObject.SetActive(true);
                popUpExp.DisplayExp(exp);
                popUpExp.onDie -= OnTransmitPopUpExpDie;
                popUpExp.onDie += OnTransmitPopUpExpDie;
                m_PopUpBehaviours.Add(popUpExp);
            }
        }
        private void OnTransmitPopUpExpDie(FairyTransmitPopUpExp popUpExp)
        {
            if (m_PopUpBehaviours.Contains(popUpExp))
            {
                m_PopUpBehaviours.Remove(popUpExp);
            }
            ReleaseTransmitPopExp(popUpExp.gameObject);
        }
        GameObject RequireTransmitPopExp()
        {
            if (m_PopUpNumPool == null)
            {
                var prefab = UILoader.LoadPrefab("PopUpNum_FairyFeast");
                if (prefab)
                {
                    m_PopUpNumPool = GameObjectPoolManager.Instance.RequestPool(prefab);
                }
            }
            if (m_PopUpNumPool != null)
            {
                return m_PopUpNumPool.Request();
            }
            return null;
        }
        void ReleaseTransmitPopExp(GameObject prefab)
        {
            prefab.gameObject.SetActive(false);
            if (m_PopUpNumPool != null)
            {
                m_PopUpNumPool.Release(prefab);
            }
        }
    }
}
System/FairyAu/FairyFeastTransmitShowWin.cs.meta
copy from System/FairyAu/FairyFeastBehaviour.cs.meta copy to System/FairyAu/FairyFeastTransmitShowWin.cs.meta
File was copied from System/FairyAu/FairyFeastBehaviour.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 0e45b19a89d401543bc629f6e4b85599
timeCreated: 1529473535
guid: c9982d7e25fb18b4a804aa91da86ba5a
timeCreated: 1544188071
licenseType: Pro
MonoImporter:
  serializedVersion: 2
System/FairyAu/FairyLeagueRemindBehaviour.cs
@@ -20,6 +20,8 @@
        bool requireRemind = false;
        DateTime startTime = DateTime.Now;
        float lastRequestTime = 0;
        private void Awake()
        {
            m_Goto.AddListener(Goto);
@@ -57,6 +59,43 @@
            {
                DisplayTimer();
            }
            else
            {
                if (Time.time - lastRequestTime < 5)
                {
                    return;
                }
                lastRequestTime = Time.time;
                var fairyLeagueTime = model.currentWeekTime;
                if (fairyLeagueTime == null || fairyLeagueTime.fairyLeagueStage != FairyLeagueStage.Grouping)
                {
                    return;
                }
                var ring = fairyLeagueTime.rings[fairyLeagueTime.currentRing];
                if (ring == null)
                {
                    return;
                }
                var session = ring.sessions[ring.sessions.Count - 1];
                if (session == null)
                {
                    return;
                }
                var stage = session.stages.Find((x) =>
                {
                    return x.stage == FairyLeagueStage.Grouping;
                });
                if (stage != null)
                {
                    if (TimeUtility.Hour == stage.startHour
                        && TimeUtility.Minute == stage.startMinute)
                    {
                        CA001_tagViewUniversalGameRec _pak = new CA001_tagViewUniversalGameRec();
                        _pak.ViewType = (byte)FairyLeagueModel.FAIRY_LEAGUE_BATTLE;
                        GameNetSystem.Instance.SendInfo(_pak);
                    }
                }
            }
        }
        private void OnRefreshFairyInfo()
System/FairyAu/FairyTransmitPopUpExp.cs
New file
@@ -0,0 +1,45 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI
{
    public class FairyTransmitPopUpExp : MonoBehaviour
    {
        [SerializeField] Animation m_Animation;
        [SerializeField] Text m_Exp;
        float overLifeTime = 0f;
        bool alive = false;
        public event Action<FairyTransmitPopUpExp> onDie;
        public void DisplayExp(ulong exp)
        {
            alive = true;
            m_Exp.transform.localScale = Vector3.zero;
            m_Exp.text = StringUtility.Contact("EXP+", exp);
            m_Animation.Play();
            overLifeTime = Time.time + 2.0f;
        }
        private void LateUpdate()
        {
            if (!alive)
            {
                return;
            }
            if (Time.time >= overLifeTime)
            {
                alive = false;
                if (onDie != null)
                {
                    onDie(this);
                }
            }
        }
    }
}
System/FairyAu/FairyTransmitPopUpExp.cs.meta
copy from System/FairyAu/FairyFeastBehaviour.cs.meta copy to System/FairyAu/FairyTransmitPopUpExp.cs.meta
File was copied from System/FairyAu/FairyFeastBehaviour.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 0e45b19a89d401543bc629f6e4b85599
timeCreated: 1529473535
guid: 784c482b71a4d0b4db66b4c257120440
timeCreated: 1544188861
licenseType: Pro
MonoImporter:
  serializedVersion: 2
System/FairyAu/MethodToWin.cs
@@ -66,7 +66,7 @@
                    m_PrimaryAttribute.text = string.Format(Language.Get("MethodTo_H"), PlayerDatas.Instance.extersion.realATK);
                    break;
                case BasicAttribute.Resistance:
                    m_PrimaryAttribute.text = string.Format(Language.Get("MethodTo_I"), PlayerDatas.Instance.extersion.DamChanceDef);
                    m_PrimaryAttribute.text = string.Format(Language.Get("MethodTo_I"), PlayerDatas.Instance.extersion.realDEF);
                    break;
System/GatheringSoul/GatherSoulHoleBehaviour.cs
@@ -99,6 +99,7 @@
                    data.SetGatherSoul(item.level, hole);
                    GatherSoulComposeModel.Compose compose;
                    bool requireCompose = composeModel.ExistInComposeMat(item.id, out compose);
                    data.SetTipsFuncBtn(ItemWinBtnType.putOff, OnTipFunc);
                    if (requireCompose)
                    {
                        data.SetTipsFuncBtn(ItemWinBtnType.compose, OnTipFunc);
@@ -107,7 +108,6 @@
                    {
                        data.SetTipsFuncBtn(ItemWinBtnType.LevelUp, OnTipFunc);
                    }
                    data.SetTipsFuncBtn(ItemWinBtnType.putOff, OnTipFunc);
                    itemTipsModel.SetItemTipsModel(data);
                }
                else
System/GatheringSoul/GatherSoulItemBehaviour.cs
@@ -148,6 +148,16 @@
                    data.SetGatherSoul(item.level, -1, PackType.rptGatherSoul, displayItem.index);
                    if (item.itemType != GatheringSoulModel.GATHERSOUL_ESSENCE_TYPE)
                    {
                        GatherSoulComposeModel.Compose compose;
                        if (composeModel.TryGetCompose(item.id, out compose)
                            && compose.requireItems.Count > 0)
                        {
                            data.SetTipsFuncBtn(ItemWinBtnType.split, OnTipFunc);
                        }
                        else
                        {
                            data.SetTipsFuncBtn(ItemWinBtnType.Resolve, OnTipFunc);
                        }
                        GatherSoulComposeModel.Compose outCompose;
                        bool requireCompose = composeModel.ExistInComposeMat(item.id, out outCompose);
                        if (requireCompose)
@@ -161,16 +171,6 @@
                        else
                        {
                            data.SetTipsFuncBtn(ItemWinBtnType.Replace, OnTipFunc);
                        }
                        GatherSoulComposeModel.Compose compose;
                        if (composeModel.TryGetCompose(item.id, out compose)
                            && compose.requireItems.Count > 0)
                        {
                            data.SetTipsFuncBtn(ItemWinBtnType.split, OnTipFunc);
                        }
                        else
                        {
                            data.SetTipsFuncBtn(ItemWinBtnType.Resolve, OnTipFunc);
                        }
                    }
                    itemTipsModel.SetItemTipsModel(data);
System/GatheringSoul/GatherSoulMatItem.cs
@@ -35,7 +35,6 @@
        public void Display()
        {
            m_Container.gameObject.SetActive(true);
            m_Icon.SetIconWithMoneyType(moneyType);
            var count = UIHelper.GetMoneyCnt(moneyType);
            var displayId = GeneralDefine.moneyDisplayIds.ContainsKey(moneyType) ? GeneralDefine.moneyDisplayIds[moneyType] : 0;
            if (require == 0)
@@ -54,6 +53,7 @@
                var config = Config.Instance.Get<ItemConfig>(displayId);
                m_ItemName.text = config.ItemName;
                m_ItemBottom.SetItemBackGround(config.ItemColor);
                m_Icon.SetSprite(config.IconKey);
            }
        }
System/GatheringSoul/GatherSoulResolveWin.cs
@@ -232,7 +232,8 @@
            List<ushort> list = new List<ushort>();
            for (int i = 0; i < model.resolveItems.Count; i++)
            {
                if (model.CheckExist(model.resolveItems[i]))
                if (model.resolveItems[i] != null &&
                    model.CheckExist(model.resolveItems[i]))
                {
                    list.Add((ushort)model.resolveItems[i].index);
                }
System/GatheringSoul/GatherSoulWin.cs
@@ -39,6 +39,11 @@
        {
            get { return ModelCenter.Instance.GetModel<GatheringSoulModel>(); }
        }
        DailyQuestModel dailyQuestModel
        {
            get { return ModelCenter.Instance.GetModel<DailyQuestModel>(); }
        }
        #region Built-in
        protected override void BindController()
        {
@@ -162,7 +167,8 @@
        private void GetSoul()
        {
            dailyQuestModel.currentDailyQuest = (int)DailyQuestType.GatherSoulDungeon;
            WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.DailyQuestFunc1);
        }
        private void GotoCompose()
System/GatheringSoul/GatheringSoulModel.cs
@@ -151,10 +151,27 @@
            }
            funcConfig = Config.Instance.Get<FuncConfigConfig>("GatherSoulLevelUp");
            qualityCostModulus = new Dictionary<int, Dictionary<int, float>>();
            if (funcConfig != null)
            {
                levelUpCostFormula = funcConfig.Numerical1;
                qualityCostModulus = ConfigParse.GetDic<int, float>(funcConfig.Numerical2);
                var json = LitJson.JsonMapper.ToObject(funcConfig.Numerical2);
                foreach (var typeKey in json.Keys)
                {
                    var itemType = int.Parse(typeKey);
                    Dictionary<int, float> dict;
                    if (!qualityCostModulus.TryGetValue(itemType, out dict))
                    {
                        dict = new Dictionary<int, float>();
                        qualityCostModulus.Add(itemType, dict);
                    }
                    foreach (var key in json[typeKey].Keys)
                    {
                        var quality = int.Parse(key);
                        var modulus = float.Parse(json[typeKey][key].ToJson());
                        dict.Add(quality, modulus);
                    }
                }
                multiPropertyModulus = ConfigParse.GetDic<int, float>(funcConfig.Numerical3);
                qualityResolveCostDict = ConfigParse.GetDic<int, float>(funcConfig.Numerical4);
                soulStageModulusDict = ConfigParse.GetDic<int, float>(funcConfig.Numerical5);
@@ -613,8 +630,8 @@
                    {
                        continue;
                    }
                    if (!item.ExistSameProperty(compare.id)
                        || item.Compare(compare) != 1)
                    if (item.ExistSameProperty(compare.id)
                        && item.itemColor < compare.itemColor)
                    {
                        return false;
                    }
@@ -633,8 +650,8 @@
                        {
                            continue;
                        }
                        if (!item.ExistSameProperty(compare.id)
                            || item.Compare(compare) != 1)
                        if (item.ExistSameProperty(compare.id)
                            && item.itemColor < compare.itemColor)
                        {
                            return false;
                        }
@@ -666,7 +683,8 @@
                    break;
                case ItemWinBtnType.split:
                case ItemWinBtnType.Resolve:
                    if (IsBestSoul(item, item.placeType, item.index))
                    if (type == ItemWinBtnType.Resolve
                        && IsBestSoul(item, item.placeType, item.index))
                    {
                        ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("BestGatherSoulResolveConfirm"), (bool isOk) =>
                          {
@@ -1123,7 +1141,7 @@
        #region 消耗计算
        string levelUpCostFormula = string.Empty;
        Dictionary<int, float> levelUpFormulaCostDict = new Dictionary<int, float>();
        Dictionary<int, float> qualityCostModulus;
        Dictionary<int, Dictionary<int, float>> qualityCostModulus;
        Dictionary<int, float> multiPropertyModulus;
        Dictionary<int, float> soulStageModulusDict;
        public int RequireLevelUpCost(GatherSoulItem item)
@@ -1156,14 +1174,22 @@
            }
            var soulStageModulus = soulStageModulusDict != null && soulStageModulusDict.ContainsKey(stage) ?
                soulStageModulusDict[stage] : 1;
            var qualityModulus = 1f;
            if (qualityCostModulus.ContainsKey(itemConfig.Type))
            {
                if (qualityCostModulus[itemConfig.Type].ContainsKey(itemConfig.ItemColor))
                {
                    qualityModulus = qualityCostModulus[itemConfig.Type][itemConfig.ItemColor];
                }
            }
            if (multiPropertyModulus.ContainsKey(propertyCount))
            {
                result = formulaResult * qualityCostModulus[itemConfig.ItemColor]
                    * soulStageModulus * multiPropertyModulus[propertyCount];
                result = formulaResult * qualityModulus * soulStageModulus
                    * multiPropertyModulus[propertyCount];
            }
            else
            {
                result = formulaResult * qualityCostModulus[itemConfig.ItemColor] * soulStageModulus;
                result = formulaResult * qualityModulus * soulStageModulus;
            }
            return Mathf.RoundToInt(result);
        }
@@ -1455,6 +1481,8 @@
        public int placeType { get; private set; }//0-背包 1-装备
        public int itemColor { get; private set; }
        GatheringSoulModel model
        {
            get { return ModelCenter.Instance.GetModel<GatheringSoulModel>(); }
@@ -1471,6 +1499,7 @@
            base.ParsePackItem(index, data);
            var itemConfig = Config.Instance.Get<ItemConfig>(id);
            itemType = itemConfig.Type;
            itemColor = itemConfig.ItemColor;
            if (itemType == GatheringSoulModel.GATHERSOUL_SOUL_TYPE)
            {
                gatherSoulType = GatherSoulType.Soul;
System/MainInterfacePanel/ChatFrame.cs
@@ -34,7 +34,6 @@
        [SerializeField] RedpointBehaviour m_RealmRed;
        [SerializeField] UIEffect m_RealmSfx;
        [SerializeField] FairyFeastBehaviour m_FairyFeast;
        List<int> OneKeyList = new List<int>();
        TeamModel m_Model;
        TeamModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<TeamModel>()); } }
@@ -60,7 +59,6 @@
            _TeamChatBtn.voiceRecordSuccessEvent += OnVoiceRecordTeamSuccessEvent;
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent += Updatefighting;//数据的刷新(h0418)
            RedpointCenter.Instance.redpointValueChangeEvent += RedpointValueChangeEvent;
            m_FairyFeast.Init();
            _MailBtn.onClick.AddListener(MailButton);
            _OneKeyBtn.onClick.AddListener(OneKeyButton);
            _AutoBtn.onClick.AddListener(AutoButton);
@@ -242,7 +240,6 @@
            MailAllModel.Instance.DeleteMailEvent -= MailCountChange;
            PlayerDatas.Instance.PlayerDataRefreshInfoEvent -= Updatefighting;//数据的刷新(h0418)
            RedpointCenter.Instance.redpointValueChangeEvent -= RedpointValueChangeEvent;
            m_FairyFeast.UnInit();
            m_RealmBtn.RemoveAllListeners();
            _MailBtn.onClick.RemoveAllListeners();
            _OneKeyBtn.onClick.RemoveAllListeners();
System/MainInterfacePanel/HeadPortraitTip.cs
@@ -319,9 +319,7 @@
        void HeadButton()
        {
            // DesignDebug.Log("头像点击框");
            WindowCenter.Instance.Close<MainInterfaceWin>();
            WindowCenter.Instance.Open<RolePanel>();
            ModelCenter.Instance.GetModel<RoleModel>().OpenRolePanel();
        }
        void OnPromoteBtn()
System/MainInterfacePanel/LowSettingTip.cs
@@ -63,10 +63,9 @@
        void Role1Button()
        {
            WindowCenter.Instance.Close<MainInterfaceWin>();
            WindowCenter.Instance.Open<RolePanel>();
           /* DesignDebug.Log("角色按钮")*/;
            ModelCenter.Instance.GetModel<RoleModel>().OpenRolePanel();
        }
        void OnClickBagualuBtn()
        {
System/Message/MessageWin.cs
@@ -40,6 +40,7 @@
        public void ShowFixedTip(string tip, ArrayList infoList = null)
        {
            transform.SetAsLastSibling();
            m_FixedTip0.SetExtenalData(infoList);
            m_FixedTip0.text = tip;
            if (!m_ContianerFixedTip0.gameObject.activeInHierarchy)
@@ -51,6 +52,7 @@
        public void ShowFixedTips(string tip, ArrayList infoList = null)
        {
            transform.SetAsLastSibling();
            var _index = m_FixedTipDisplays.FindIndex((x) =>
             {
                 return !x;
@@ -94,6 +96,7 @@
            {
                return;
            }
            transform.SetAsLastSibling();
            var _hint = ServerTipDetails.RequireServerTip();
            if (_hint != null)
            {
System/Role/MagicianModel.cs
@@ -115,6 +115,9 @@
        public int gotoType = 0;
        public int autoHammerLevel { get; set; }
        public int hammerAudioId { get; private set; }
        public int audioLength { get; private set; }
        void ParseConfig()
        {
            godWeaponTypes = GodWeaponConfig.GetGodWeaponType();
@@ -274,6 +277,10 @@
                    }
                }
            }
            funcConfig = Config.Instance.Get<FuncConfigConfig>("Godvideo");
            hammerAudioId = int.Parse(funcConfig.Numerical1);
            audioLength = int.Parse(funcConfig.Numerical2);
        }
        public int[] GetLevelUpItemByType(int type)
@@ -368,6 +375,19 @@
            pak.ItemCount = 1;
            pak.IsAutoBuy = 0;
            GameNetSystem.Instance.SendInfo(pak);
            PlayHammerAudio();
        }
        DateTime lastAudioTime = DateTime.Now;
        public void PlayHammerAudio()
        {
            var seconds = (float)audioLength / 1000;
            if ((DateTime.Now - lastAudioTime).TotalSeconds < seconds)
            {
                return;
            }
            lastAudioTime = DateTime.Now;
            SoundPlayer.Instance.PlayUIAudio(hammerAudioId);
        }
        public event Action godWeaponUpdate;
System/Role/MagicianWin.cs
@@ -931,6 +931,7 @@
                pak.IsAutoBuy = 1;
                pak.ItemCount = (byte)Mathf.Min(byte.MaxValue, count);
                GameNetSystem.Instance.SendInfo(pak);
                model.PlayHammerAudio();
            }
            else
            {
@@ -977,6 +978,7 @@
                pak.IsAutoBuy = 1;
                pak.ItemCount = (byte)count;
                GameNetSystem.Instance.SendInfo(pak);
                model.PlayHammerAudio();
            }
            lockGodWeaponUpdate = true;
            lockItemUpdate = true;
System/Role/RoleModel.cs
@@ -84,6 +84,27 @@
                }
            }
        }
        public void OpenRolePanel()
        {
            var functionOrder = 0;
            var godWeaponModel = ModelCenter.Instance.GetModel<MagicianModel>();
            var gatherSoulModel = ModelCenter.Instance.GetModel<GatheringSoulModel>();
            if (MainRedDot.Instance.roleRedpoint.state != RedPointState.None)
            {
                functionOrder = 0;
            }
            else if (godWeaponModel.magicianRedpoint.state != RedPointState.None)
            {
                functionOrder = 3;
            }
            else if (gatherSoulModel.redpoint.state != RedPointState.None)
            {
                functionOrder = 4;
            }
            WindowCenter.Instance.Close<MainInterfaceWin>();
            WindowCenter.Instance.Open<RolePanel>(false, functionOrder);
        }
    }
}
System/RoleParticulars/RoleParticularModel.cs
@@ -27,7 +27,7 @@
        public int viewPlayer { get; private set; }
        public int viewPlayerType { get; private set; }  //0-查看装备 1-查看战力
        public int viewPlayerType { get; private set; }  //0-查看装备 1-查看战力 2-王者仙盟 3-仙盟宴会传功
        private Dictionary<int, ViewPlayerData> viewPlayerDataDic = new Dictionary<int, ViewPlayerData>();
        private Dictionary<int, ulong> funcFightPowerDict = new Dictionary<int, ulong>();
@@ -64,6 +64,12 @@
        public void ViewKingFairyLeader(int _playerId)
        {
            viewPlayerType = 2;
            ViewRoleParticulars(_playerId);
        }
        public void ViewFairyFeastTransmit(int _playerId)
        {
            viewPlayerType = 3;
            ViewRoleParticulars(_playerId);
        }
@@ -585,6 +591,7 @@
        #endregion
        public event Action<ViewPlayerData> UpdatePlayerParticularEvent;
        public event Action<int, ViewPlayerData> viewPlayerUpdate;
        private void ShowRoleParticulars(ViewPlayerData _viewPlayerData)
        {
            switch (viewPlayerType)
@@ -607,6 +614,12 @@
                        UpdatePlayerParticularEvent(_viewPlayerData);
                    }
                    break;
                case 3:
                    if (viewPlayerUpdate != null)
                    {
                        viewPlayerUpdate(3, _viewPlayerData);
                    }
                    break;
            }
            viewPlayerType = -1;
        }
UI/Common/UI3DModelExhibition.cs
@@ -787,13 +787,24 @@
        {
            HideNpcEffect();
            var _dict = ModelResConfig.GetEffectDict(modelName);
            if (_dict != null)
            var _boneList = ModelResConfig.GetBoneList(modelName);
            var _effectlist = ModelResConfig.GetEffectList(modelName);
            if (_boneList != null && _effectlist != null)
            {
                foreach (var _bone in _dict.Keys)
                for (int i = 0; i < _boneList.Count; ++i)
                {
                    var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_dict[_bone], parent.GetChildTransformDeeply(_bone));
                    m_BindEffectList.Add(_ctrl);
                    if (_boneList[i].Equals("null"))
                    {
                        var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_effectlist[i], parent);
                        m_BindEffectList.Add(_ctrl);
                    }
                    else
                    {
                        var _ctrl = SFXPlayUtility.Instance.PlayBattleEffect(_effectlist[i], parent.GetChildTransformDeeply(_boneList[i]));
                        m_BindEffectList.Add(_ctrl);
                    }
                }
            }
        }
UI/Common/UI3DModelFactory.cs
@@ -206,7 +206,7 @@
    public static void ReleaseUIHourse(int id, GameObject model)
    {
        var prefab = InstanceResourcesLoader.LoadModelRes(id, true);
        var prefab = InstanceResourcesLoader.LoadModelRes(id, false);
        var pool = GameObjectPoolManager.Instance.RequestPool(prefab);
        var animator = model.GetComponent<Animator>();
Utility/UIHelper.cs
@@ -371,15 +371,17 @@
        }
    }
    private const string SPECIAL_CHA = " ()()@!#$%^&*[]|_";
    static Regex s_SpecialCharacterRegex = new Regex("[ ()()@!#$%^&*[]|_]");
    static Regex s_AsciiCharacterRegex = new Regex("[\x00-\x2F]|[\x3A-\x40]|[\x5B-\x60]|[\x7B-\x7E]");
    public static bool HasSpecialCharac(string str)
    {
        foreach (char c in SPECIAL_CHA)
        if (s_SpecialCharacterRegex.IsMatch(str))
        {
            if (str.Contains(c))
            {
                return true;
            }
            return true;
        }
        if (s_AsciiCharacterRegex.IsMatch(str))
        {
            return true;
        }
        return false;
    }