少年修仙传客户端代码仓库
client_Hale
2019-03-12 d71a5da3d5647e41925a3c162698700546aaec6f
Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
11 文件已复制
21个文件已删除
1 文件已重命名
12个文件已添加
29个文件已修改
9365 ■■■■ 已修改文件
Core/GameEngine/DataToCtl/PackageRegedit.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/WashLevelMaxConfig.cs 208 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Config/WashLevelMaxConfig.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Player/Market.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/TelPartialConfig/PartialWashLevelMaxConfig.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/TelPartialConfig/PartialWashLevelMaxConfig.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA3B3_tagMCEquipPartPlusInfo.cs 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA3B3_tagMCEquipPartPlusInfo.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA3BB_tagMCEquipPartXLAttrInfo.cs 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HA3_Function/HA3B3_tagMCEquipPartPlusInfo.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/NetworkPackage/ServerPack/HA3_Function/HA3B3_tagMCEquipPartPlusInfo.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/EquipWashModelWrap.cs 1525 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/EquipWashModelWrap.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/PrepareHandlerWrap.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUIEquipModelWrap.cs 899 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUIEquipModelWrap.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUIEquipStarModelWrap.cs 824 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUIEquipStarModelWrap.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUIEquipTrainModelWrap.cs 797 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUIEquipTrainModelWrap.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUIRealmModelWrap.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUIRolePromoteModelWrap.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/SnxxzUIRolePromoteModelWrap.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/WashLevelMaxConfigWrap.cs 408 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/WashLevelMaxConfigWrap.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/WashProModelWrap.cs 216 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/WashProModelWrap.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/XLuaGenAutoRegister.cs 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/XLuaGenAutoRegister.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Lua/Gen/link.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Equip/EquipFrameWin.cs 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Equip/EquipModel.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipGem/EquipStrengthHeadBehaviour.cs 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipGem/EquipStrengthHeadBehaviour.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipGem/EquipStrengthModel.cs 108 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipGem/EquipStrengthModel.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipGem/EquipStrengthSelectBehaviour.cs 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipGem/EquipStrengthSelectBehaviour.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipGem/EquipStrengthWin.cs 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipGem/EquipStrengthWin.cs.meta 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipStar/EquipStarModel.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipStar/EquipStarWin.cs 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipTrain/EquipTrainCandidateBehaviour.cs 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipTrain/EquipTrainLevelBehaviour.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipTrain/EquipTrainModel.cs 88 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipTrain/EquipTrainPropertyBarBehaviour.cs 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipTrain/EquipTrainWin.cs 363 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/ItemOperateUtility.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/ItemTipsModel.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/LowSettingTip.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Market.meta 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Message/RichTableEvent.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/RoleParticulars/RoleParticularsWin.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/RoleParticulars/ViewFuncCell.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/RolePromote/RolePromoteModel.cs 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/EquipReinforceWin.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/EquipWashCell.cs 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/EquipWashCell.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/EquipWashModel.cs 816 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/EquipWashModel.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/WashMasterActiveWin.cs 258 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/WashMasterActiveWin.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/WashMasterCell.cs 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/WashMasterWin.cs 555 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/WashMasterWin.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/WashPro.cs 231 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/WashPro.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/WashProModel.cs 206 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/WashProModel.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/WashTips.cs 767 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Strengthening/WashTips.cs.meta 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/WindowBase/ModelCenter.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UI/Core/ToggleButton.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/ConfigInitiator.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/DataToCtl/PackageRegedit.cs
@@ -140,7 +140,7 @@
        Register(typeof(HA31D_tagMCGodWeaponLVList), typeof(DTCA31D_tagMCGodWeaponLVList));
        Register(typeof(H03F0_tagPyFakePack), typeof(DTC03F0_tagPyFakePack));
        Register(typeof(H1801_tagGameServerGeneralPack), typeof(DTC1801_tagGameServerGeneralPack));
        Register(typeof(HA3B3_tagMCEquipPartStarLVInfo), typeof(DTCA3B3_tagMCEquipPartStarLVInfo));
        //Register(typeof(HA3B3_tagMCEquipPartStarLVInfo), typeof(DTCA3B3_tagMCEquipPartStarLVInfo));
        Register(typeof(H0310_tagRoleSkillChange), typeof(DTC0310_tagRoleSkillChange));
        Register(typeof(H0721_tagMakeItemAnswer), typeof(DTC0721_tagMakeItemAnswer));
        Register(typeof(HA9A1_tagGCQueryCompensationResult), typeof(DTCA9A1_tagGCQueryCompensationResult));
@@ -468,7 +468,7 @@
        Register(typeof(HB509_tagGCClearAuctionItemInfo), typeof(DTCB509_tagGCClearAuctionItemInfo));
        Register(typeof(HB510_tagGCBiddingItemInfo), typeof(DTCB510_tagGCBiddingItemInfo));
        #endregion
        Register(typeof(HA3B3_tagMCEquipPartPlusInfo), typeof(DTCA3B3_tagMCEquipPartPlusInfo));//装备强化
    }
    private static void Register(Type _pack, Type _business)
Core/GameEngine/Model/Config/WashLevelMaxConfig.cs
New file
@@ -0,0 +1,208 @@
//--------------------------------------------------------
//    [Author]:           Fish
//    [  Date ]:           Monday, March 11, 2019
//--------------------------------------------------------
using System.Collections.Generic;
using System.IO;
using System.Threading;
using System;
using UnityEngine;
[XLua.LuaCallCSharp]
public partial class WashLevelMaxConfig
{
    public readonly int id;
    public readonly int equipType;
    public readonly int equipStar;
    public readonly int levelMax;
    public WashLevelMaxConfig()
    {
    }
    public WashLevelMaxConfig(string input)
    {
        try
        {
            var tables = input.Split('\t');
            int.TryParse(tables[0],out id);
            int.TryParse(tables[1],out equipType);
            int.TryParse(tables[2],out equipStar);
            int.TryParse(tables[3],out levelMax);
        }
        catch (Exception ex)
        {
            DebugEx.Log(ex);
        }
    }
    static Dictionary<string, WashLevelMaxConfig> configs = new Dictionary<string, WashLevelMaxConfig>();
    public static WashLevelMaxConfig Get(string id)
    {
        if (!inited)
        {
            Debug.Log("WashLevelMaxConfig 还未完成初始化。");
            return null;
        }
        if (configs.ContainsKey(id))
        {
            return configs[id];
        }
        WashLevelMaxConfig config = null;
        if (rawDatas.ContainsKey(id))
        {
            config = configs[id] = new WashLevelMaxConfig(rawDatas[id]);
            rawDatas.Remove(id);
        }
        return config;
    }
    public static WashLevelMaxConfig Get(int id)
    {
        return Get(id.ToString());
    }
    public static List<string> GetKeys()
    {
        var keys = new List<string>();
        keys.AddRange(configs.Keys);
        keys.AddRange(rawDatas.Keys);
        return keys;
    }
    public static List<WashLevelMaxConfig> GetValues()
    {
        var values = new List<WashLevelMaxConfig>();
        values.AddRange(configs.Values);
        var keys = new List<string>(rawDatas.Keys);
        foreach (var key in keys)
        {
            values.Add(Get(key));
        }
        return values;
    }
    public static bool Has(string id)
    {
        return configs.ContainsKey(id) || rawDatas.ContainsKey(id);
    }
    public static bool Has(int id)
    {
        return Has(id.ToString());
    }
    public static bool inited { get; private set; }
    protected static Dictionary<string, string> rawDatas = new Dictionary<string, string>();
    public static void Init(bool sync=false)
    {
        inited = false;
        var path = string.Empty;
        if (AssetSource.refdataFromEditor)
        {
            path = ResourcesPath.CONFIG_FODLER +"/WashLevelMax.txt";
        }
        else
        {
            path = AssetVersionUtility.GetAssetFilePath("config/WashLevelMax.txt");
        }
        var tempConfig = new WashLevelMaxConfig();
        var preParse = tempConfig is IConfigPostProcess;
        if (sync)
        {
            var lines = File.ReadAllLines(path);
            if (!preParse)
            {
                rawDatas = new Dictionary<string, string>(lines.Length - 3);
            }
            for (int i = 3; i < lines.Length; i++)
            {
                try
                {
                    var line = lines[i];
                    var index = line.IndexOf("\t");
                    if (index == -1)
                    {
                        continue;
                    }
                    var id = line.Substring(0, index);
                    if (preParse)
                    {
                        var config = new WashLevelMaxConfig(line);
                        configs[id] = config;
                        (config as IConfigPostProcess).OnConfigParseCompleted();
                    }
                    else
                    {
                        rawDatas[id] = line;
                    }
                }
                catch (System.Exception ex)
                {
                    Debug.LogError(ex);
                }
            }
            inited = true;
        }
        else
        {
            ThreadPool.QueueUserWorkItem((object _object) =>
            {
                var lines = File.ReadAllLines(path);
                if (!preParse)
                {
                    rawDatas = new Dictionary<string, string>(lines.Length - 3);
                }
                for (int i = 3; i < lines.Length; i++)
                {
                    try
                    {
                       var line = lines[i];
                        var index = line.IndexOf("\t");
                        if (index == -1)
                        {
                            continue;
                        }
                        var id = line.Substring(0, index);
                        if (preParse)
                        {
                            var config = new WashLevelMaxConfig(line);
                            configs[id] = config;
                            (config as IConfigPostProcess).OnConfigParseCompleted();
                        }
                        else
                        {
                            rawDatas[id] = line;
                        }
                    }
                    catch (System.Exception ex)
                    {
                        Debug.LogError(ex);
                    }
                }
                inited = true;
            });
        }
    }
}
Core/GameEngine/Model/Config/WashLevelMaxConfig.cs.meta
copy from System/Strengthening/WashMasterCell.cs.meta copy to Core/GameEngine/Model/Config/WashLevelMaxConfig.cs.meta
File was copied from System/Strengthening/WashMasterCell.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: fad8d20eda509594ab32a17be0778dce
timeCreated: 1528724150
guid: 4f5f05a190827f847b600b3c9988650a
timeCreated: 1552298504
licenseType: Pro
MonoImporter:
  serializedVersion: 2
Core/GameEngine/Model/Player/Market.meta
File was deleted
Core/GameEngine/Model/TelPartialConfig/PartialWashLevelMaxConfig.cs
New file
@@ -0,0 +1,35 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public partial class WashLevelMaxConfig : IConfigPostProcess
{
    static Dictionary<int, WashLevelMaxConfig> washLevelMaxConfigs = new Dictionary<int, WashLevelMaxConfig>();
    public void OnConfigParseCompleted()
    {
        var key = equipType * 100 + equipStar;
        washLevelMaxConfigs[key] = this;
    }
    public static WashLevelMaxConfig Get(int type, int star)
    {
        var key = type * 100 + star;
        return washLevelMaxConfigs.ContainsKey(key) ? washLevelMaxConfigs[key] : null;
    }
    public static int GetMaxLevel( int type)
    {
        var max = 0;
        foreach ( var config in washLevelMaxConfigs.Values)
        {
            if ( config .equipType==type && config .levelMax >max)
            {
                max = config.levelMax;
            }
        }
        return max;
    }
}
Core/GameEngine/Model/TelPartialConfig/PartialWashLevelMaxConfig.cs.meta
copy from System/Strengthening/WashMasterCell.cs.meta copy to Core/GameEngine/Model/TelPartialConfig/PartialWashLevelMaxConfig.cs.meta
File was copied from System/Strengthening/WashMasterCell.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: fad8d20eda509594ab32a17be0778dce
timeCreated: 1528724150
guid: 4d25380bc3cd23d479aa010336985565
timeCreated: 1552298532
licenseType: Pro
MonoImporter:
  serializedVersion: 2
Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA3B3_tagMCEquipPartPlusInfo.cs
New file
@@ -0,0 +1,11 @@
using UnityEngine;
using System.Collections;
// A3 B3 装备部位强化信息 #tagMCEquipPartPlusInfo
public class DTCA3B3_tagMCEquipPartPlusInfo : DtcBasic {
    public override void Done(GameNetPackBasic vNetPack) {
        base.Done(vNetPack);
        HA3B3_tagMCEquipPartPlusInfo vNetData = vNetPack as HA3B3_tagMCEquipPartPlusInfo;
    }
}
Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA3B3_tagMCEquipPartPlusInfo.cs.meta
copy from System/Strengthening/WashMasterCell.cs.meta copy to Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA3B3_tagMCEquipPartPlusInfo.cs.meta
File was copied from System/Strengthening/WashMasterCell.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: fad8d20eda509594ab32a17be0778dce
timeCreated: 1528724150
guid: bff935cf1b66fde498ac756ba6072d8f
timeCreated: 1552289936
licenseType: Pro
MonoImporter:
  serializedVersion: 2
Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA3BB_tagMCEquipPartXLAttrInfo.cs
@@ -8,22 +8,14 @@
public class DTCA3BB_tagMCEquipPartXLAttrInfo : DtcBasic {
    EquipWashModel _washModel;
    EquipWashModel washModel
    {
        get
        {
            return _washModel ?? (_washModel = ModelCenter.Instance.GetModel<EquipWashModel>());
        }
    }
    EquipTrainModel model { get { return ModelCenter.Instance.GetModel<EquipTrainModel>(); } }
    public override void Done(GameNetPackBasic vNetPack) {
        base.Done(vNetPack);
        HA3BB_tagMCEquipPartXLAttrInfo vNetData = vNetPack as HA3BB_tagMCEquipPartXLAttrInfo;
        washModel.ReFreshModel(vNetData);
        var vNetData = vNetPack as HA3BB_tagMCEquipPartXLAttrInfo;
        model.UpdateEquipTrainInfo(vNetData);
    }
Core/NetworkPackage/ServerPack/HA3_Function/HA3B3_tagMCEquipPartPlusInfo.cs
New file
@@ -0,0 +1,35 @@
using UnityEngine;
using System.Collections;
// A3 B3 装备部位强化信息 #tagMCEquipPartPlusInfo
public class HA3B3_tagMCEquipPartPlusInfo : GameNetPackBasic {
    public byte Count;    // 信息个数
    public  tagMCEquipPartPlusLV[] InfoList;    // 信息列表
    public HA3B3_tagMCEquipPartPlusInfo () {
        _cmd = (ushort)0xA3B3;
    }
    public override void ReadFromBytes (byte[] vBytes) {
        TransBytes (out Count, vBytes, NetDataType.BYTE);
        InfoList = new tagMCEquipPartPlusLV[Count];
        for (int i = 0; i < Count; i ++) {
            InfoList[i] = new tagMCEquipPartPlusLV();
            TransBytes (out InfoList[i].PackType, vBytes, NetDataType.BYTE);
            TransBytes (out InfoList[i].EquipIndex, vBytes, NetDataType.BYTE);
            TransBytes (out InfoList[i].EquipPartStarLV, vBytes, NetDataType.WORD);
            TransBytes (out InfoList[i].Proficiency, vBytes, NetDataType.DWORD);
            TransBytes (out InfoList[i].EvolveLV, vBytes, NetDataType.BYTE);
        }
    }
    public struct tagMCEquipPartPlusLV {
        public byte PackType;
        public byte EquipIndex;
        public ushort EquipPartStarLV;
        public uint Proficiency;
        public byte EvolveLV;
    }
}
Core/NetworkPackage/ServerPack/HA3_Function/HA3B3_tagMCEquipPartPlusInfo.cs.meta
copy from System/Strengthening/WashMasterCell.cs.meta copy to Core/NetworkPackage/ServerPack/HA3_Function/HA3B3_tagMCEquipPartPlusInfo.cs.meta
File was copied from System/Strengthening/WashMasterCell.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: fad8d20eda509594ab32a17be0778dce
timeCreated: 1528724150
guid: c11b073518011a54792e912e28ae7dea
timeCreated: 1552289936
licenseType: Pro
MonoImporter:
  serializedVersion: 2
Lua/Gen/EquipWashModelWrap.cs
File was deleted
Lua/Gen/EquipWashModelWrap.cs.meta
File was deleted
Lua/Gen/PrepareHandlerWrap.cs
@@ -21,7 +21,7 @@
        {
            ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
            System.Type type = typeof(PrepareHandler);
            Utils.BeginObjectRegister(type, L, translator, 0, 2, 4, 3);
            Utils.BeginObjectRegister(type, L, translator, 0, 2, 5, 4);
            
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "ServerPrepareStart", _m_ServerPrepareStart);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "ServerPrepareEnd", _m_ServerPrepareEnd);
@@ -31,10 +31,12 @@
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "clientPrepareH0812", _g_get_clientPrepareH0812);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "isPreparing", _g_get_isPreparing);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "OnPrepareEndSuccess", _g_get_OnPrepareEndSuccess);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "OnPrepareEnd", _g_get_OnPrepareEnd);
            
            Utils.RegisterFunc(L, Utils.SETTER_IDX, "clientPrepareH0812", _s_set_clientPrepareH0812);
            Utils.RegisterFunc(L, Utils.SETTER_IDX, "isPreparing", _s_set_isPreparing);
            Utils.RegisterFunc(L, Utils.SETTER_IDX, "OnPrepareEndSuccess", _s_set_OnPrepareEndSuccess);
            Utils.RegisterFunc(L, Utils.SETTER_IDX, "OnPrepareEnd", _s_set_OnPrepareEnd);
            
            
            Utils.EndObjectRegister(type, L, translator, null, null,
@@ -195,6 +197,20 @@
            return 1;
        }
        
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_OnPrepareEnd(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                PrepareHandler gen_to_be_invoked = (PrepareHandler)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.OnPrepareEnd);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        
        
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
@@ -243,6 +259,21 @@
            return 0;
        }
        
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _s_set_OnPrepareEnd(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                PrepareHandler gen_to_be_invoked = (PrepareHandler)translator.FastGetCSObj(L, 1);
                gen_to_be_invoked.OnPrepareEnd = translator.GetDelegate<UnityEngine.Events.UnityAction<int, int>>(L, 2);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 0;
        }
        
        
        
Lua/Gen/SnxxzUIEquipModelWrap.cs
New file
@@ -0,0 +1,899 @@
#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 SnxxzUIEquipModelWrap
    {
        public static void __Register(RealStatePtr L)
        {
            ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
            System.Type type = typeof(Snxxz.UI.EquipModel);
            Utils.BeginObjectRegister(type, L, translator, 0, 21, 8, 2);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "Init", _m_Init);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "UnInit", _m_UnInit);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetLastestUnLockEquipSet", _m_GetLastestUnLockEquipSet);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "SelectSet", _m_SelectSet);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "ResetOperateParams", _m_ResetOperateParams);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "SelectCandidateEquip", _m_SelectCandidateEquip);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetAllEquipSets", _m_GetAllEquipSets);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetViewableEquipSets", _m_GetViewableEquipSets);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetUnLockedEquipSets", _m_GetUnLockedEquipSets);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetEquipSet", _m_GetEquipSet);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetEquip", _m_GetEquip);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "IsDressedInSuit", _m_IsDressedInSuit);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "SetAppearance", _m_SetAppearance);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetAppearance", _m_GetAppearance);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetSuitLevel", _m_GetSuitLevel);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetFightPoint", _m_GetFightPoint);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetGetWays", _m_GetGetWays);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "PutOn", _m_PutOn);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "TakeOff", _m_TakeOff);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "CompareToCurrent", _m_CompareToCurrent);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetEquipSuitEntry", _m_GetEquipSuitEntry);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "showedUnLockLevel", _g_get_showedUnLockLevel);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "showedUnLockSlot", _g_get_showedUnLockSlot);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "selectedLevel", _g_get_selectedLevel);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "selectedPlace", _g_get_selectedPlace);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "selectedEquip", _g_get_selectedEquip);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "selectedStarLevel", _g_get_selectedStarLevel);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "appearance", _g_get_appearance);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "candidateEquips", _g_get_candidateEquips);
            Utils.RegisterFunc(L, Utils.SETTER_IDX, "showedUnLockLevel", _s_set_showedUnLockLevel);
            Utils.RegisterFunc(L, Utils.SETTER_IDX, "showedUnLockSlot", _s_set_showedUnLockSlot);
            Utils.EndObjectRegister(type, L, translator, null, null,
                null, null, null);
            Utils.BeginClassRegister(type, L, __CreateInstance, 2, 0, 0);
            Utils.RegisterFunc(L, Utils.CLS_IDX, "GetItemServerEquipPlace", _m_GetItemServerEquipPlace_xlua_st_);
            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.EquipModel gen_ret = new Snxxz.UI.EquipModel();
                    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.EquipModel constructor!");
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_Init(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipModel gen_to_be_invoked = (Snxxz.UI.EquipModel)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_UnInit(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipModel gen_to_be_invoked = (Snxxz.UI.EquipModel)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_GetLastestUnLockEquipSet(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipModel gen_to_be_invoked = (Snxxz.UI.EquipModel)translator.FastGetCSObj(L, 1);
                {
                        int gen_ret = gen_to_be_invoked.GetLastestUnLockEquipSet(  );
                        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_SelectSet(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipModel gen_to_be_invoked = (Snxxz.UI.EquipModel)translator.FastGetCSObj(L, 1);
                {
                    int _level = LuaAPI.xlua_tointeger(L, 2);
                    int _place = LuaAPI.xlua_tointeger(L, 3);
                    gen_to_be_invoked.SelectSet( _level, _place );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_ResetOperateParams(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipModel gen_to_be_invoked = (Snxxz.UI.EquipModel)translator.FastGetCSObj(L, 1);
                {
                    gen_to_be_invoked.ResetOperateParams(  );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_SelectCandidateEquip(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipModel gen_to_be_invoked = (Snxxz.UI.EquipModel)translator.FastGetCSObj(L, 1);
                {
                    string _equipGuid = LuaAPI.lua_tostring(L, 2);
                    gen_to_be_invoked.SelectCandidateEquip( _equipGuid );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_GetAllEquipSets(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipModel gen_to_be_invoked = (Snxxz.UI.EquipModel)translator.FastGetCSObj(L, 1);
                {
                        System.Collections.Generic.List<int> gen_ret = gen_to_be_invoked.GetAllEquipSets(  );
                        translator.Push(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_GetViewableEquipSets(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipModel gen_to_be_invoked = (Snxxz.UI.EquipModel)translator.FastGetCSObj(L, 1);
                {
                        System.Collections.Generic.List<int> gen_ret = gen_to_be_invoked.GetViewableEquipSets(  );
                        translator.Push(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_GetUnLockedEquipSets(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipModel gen_to_be_invoked = (Snxxz.UI.EquipModel)translator.FastGetCSObj(L, 1);
                {
                        System.Collections.Generic.List<int> gen_ret = gen_to_be_invoked.GetUnLockedEquipSets(  );
                        translator.Push(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_GetEquipSet(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipModel gen_to_be_invoked = (Snxxz.UI.EquipModel)translator.FastGetCSObj(L, 1);
                {
                    int _level = LuaAPI.xlua_tointeger(L, 2);
                        Snxxz.UI.EquipSet gen_ret = gen_to_be_invoked.GetEquipSet( _level );
                        translator.Push(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_GetEquip(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipModel gen_to_be_invoked = (Snxxz.UI.EquipModel)translator.FastGetCSObj(L, 1);
                {
                    int _level = LuaAPI.xlua_tointeger(L, 2);
                    int _place = LuaAPI.xlua_tointeger(L, 3);
                        string gen_ret = gen_to_be_invoked.GetEquip( _level, _place );
                        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_IsDressedInSuit(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipModel gen_to_be_invoked = (Snxxz.UI.EquipModel)translator.FastGetCSObj(L, 1);
                {
                    int _level = LuaAPI.xlua_tointeger(L, 2);
                    int _place = LuaAPI.xlua_tointeger(L, 3);
                        bool gen_ret = gen_to_be_invoked.IsDressedInSuit( _level, _place );
                        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_SetAppearance(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipModel gen_to_be_invoked = (Snxxz.UI.EquipModel)translator.FastGetCSObj(L, 1);
                {
                    int _level = LuaAPI.xlua_tointeger(L, 2);
                    gen_to_be_invoked.SetAppearance( _level );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_GetAppearance(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipModel gen_to_be_invoked = (Snxxz.UI.EquipModel)translator.FastGetCSObj(L, 1);
                int gen_param_count = LuaAPI.lua_gettop(L);
                if(gen_param_count == 1)
                {
                        Snxxz.UI.EquipAppearance gen_ret = gen_to_be_invoked.GetAppearance(  );
                        translator.Push(L, gen_ret);
                    return 1;
                }
                if(gen_param_count == 2&& LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 2))
                {
                    int _level = LuaAPI.xlua_tointeger(L, 2);
                        Snxxz.UI.EquipAppearance gen_ret = gen_to_be_invoked.GetAppearance( _level );
                        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.EquipModel.GetAppearance!");
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_GetSuitLevel(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipModel gen_to_be_invoked = (Snxxz.UI.EquipModel)translator.FastGetCSObj(L, 1);
                {
                    int _level = LuaAPI.xlua_tointeger(L, 2);
                    Snxxz.UI.EquipSuitType _type;translator.Get(L, 3, out _type);
                        int gen_ret = gen_to_be_invoked.GetSuitLevel( _level, _type );
                        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_GetFightPoint(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipModel gen_to_be_invoked = (Snxxz.UI.EquipModel)translator.FastGetCSObj(L, 1);
                {
                    int _level = LuaAPI.xlua_tointeger(L, 2);
                        int gen_ret = gen_to_be_invoked.GetFightPoint( _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_GetGetWays(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipModel gen_to_be_invoked = (Snxxz.UI.EquipModel)translator.FastGetCSObj(L, 1);
                {
                    int _level = LuaAPI.xlua_tointeger(L, 2);
                    int _place = LuaAPI.xlua_tointeger(L, 3);
                        System.Collections.Generic.List<int> gen_ret = gen_to_be_invoked.GetGetWays( _level, _place );
                        translator.Push(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_PutOn(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipModel gen_to_be_invoked = (Snxxz.UI.EquipModel)translator.FastGetCSObj(L, 1);
                {
                    string _equipGuid = LuaAPI.lua_tostring(L, 2);
                    gen_to_be_invoked.PutOn( _equipGuid );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_TakeOff(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipModel gen_to_be_invoked = (Snxxz.UI.EquipModel)translator.FastGetCSObj(L, 1);
                {
                    int _level = LuaAPI.xlua_tointeger(L, 2);
                    int _place = LuaAPI.xlua_tointeger(L, 3);
                    gen_to_be_invoked.TakeOff( _level, _place );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_CompareToCurrent(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipModel gen_to_be_invoked = (Snxxz.UI.EquipModel)translator.FastGetCSObj(L, 1);
                {
                    string _equipGuid = LuaAPI.lua_tostring(L, 2);
                        int gen_ret = gen_to_be_invoked.CompareToCurrent( _equipGuid );
                        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_GetEquipSuitEntry(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipModel gen_to_be_invoked = (Snxxz.UI.EquipModel)translator.FastGetCSObj(L, 1);
                {
                    int _level = LuaAPI.xlua_tointeger(L, 2);
                    int _star = LuaAPI.xlua_tointeger(L, 3);
                    Snxxz.UI.EquipSuitType _type;translator.Get(L, 4, out _type);
                        Snxxz.UI.EquipSuitPropertyEntry gen_ret = gen_to_be_invoked.GetEquipSuitEntry( _level, _star, _type );
                        translator.Push(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_GetItemServerEquipPlace_xlua_st_(RealStatePtr L)
        {
            try {
                {
                    int _itemId = LuaAPI.xlua_tointeger(L, 1);
                        int gen_ret = Snxxz.UI.EquipModel.GetItemServerEquipPlace( _itemId );
                        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 _g_get_showedUnLockLevel(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipModel gen_to_be_invoked = (Snxxz.UI.EquipModel)translator.FastGetCSObj(L, 1);
                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.showedUnLockLevel);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_showedUnLockSlot(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipModel gen_to_be_invoked = (Snxxz.UI.EquipModel)translator.FastGetCSObj(L, 1);
                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.showedUnLockSlot);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_selectedLevel(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipModel gen_to_be_invoked = (Snxxz.UI.EquipModel)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.selectedLevel);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_selectedPlace(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipModel gen_to_be_invoked = (Snxxz.UI.EquipModel)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.selectedPlace);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_selectedEquip(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipModel gen_to_be_invoked = (Snxxz.UI.EquipModel)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.selectedEquip);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_selectedStarLevel(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipModel gen_to_be_invoked = (Snxxz.UI.EquipModel)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.selectedStarLevel);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_appearance(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipModel gen_to_be_invoked = (Snxxz.UI.EquipModel)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.appearance);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_candidateEquips(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipModel gen_to_be_invoked = (Snxxz.UI.EquipModel)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.candidateEquips);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _s_set_showedUnLockLevel(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipModel gen_to_be_invoked = (Snxxz.UI.EquipModel)translator.FastGetCSObj(L, 1);
                gen_to_be_invoked.showedUnLockLevel = 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_showedUnLockSlot(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipModel gen_to_be_invoked = (Snxxz.UI.EquipModel)translator.FastGetCSObj(L, 1);
                gen_to_be_invoked.showedUnLockSlot = LuaAPI.xlua_tointeger(L, 2);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 0;
        }
    }
}
Lua/Gen/SnxxzUIEquipModelWrap.cs.meta
File was renamed from System/Strengthening/WashMasterCell.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: fad8d20eda509594ab32a17be0778dce
timeCreated: 1528724150
guid: 3fdfeb134104ba3498aa547c61deff40
timeCreated: 1552309981
licenseType: Pro
MonoImporter:
  serializedVersion: 2
Lua/Gen/SnxxzUIEquipStarModelWrap.cs
New file
@@ -0,0 +1,824 @@
#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 SnxxzUIEquipStarModelWrap
    {
        public static void __Register(RealStatePtr L)
        {
            ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
            System.Type type = typeof(Snxxz.UI.EquipStarModel);
            Utils.BeginObjectRegister(type, L, translator, 0, 20, 7, 0);
            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, "OnPlayerLoginOk", _m_OnPlayerLoginOk);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "UpdateStarLevels", _m_UpdateStarLevels);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "DoStarUpgrade", _m_DoStarUpgrade);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "ResetOperateParams", _m_ResetOperateParams);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "SelectLevel", _m_SelectLevel);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "SelectPlace", _m_SelectPlace);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetCandidatePlaces", _m_GetCandidatePlaces);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetCandidatePlace", _m_GetCandidatePlace);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "IsEquipPlaceUpgradable", _m_IsEquipPlaceUpgradable);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetTotalStarLevel", _m_GetTotalStarLevel);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetEquipStarLevel", _m_GetEquipStarLevel);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetEquipCountWhichStarLevelLq", _m_GetEquipCountWhichStarLevelLq);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetMaterials", _m_GetMaterials);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "AddMaterial", _m_AddMaterial);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "RemoveMaterial", _m_RemoveMaterial);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetMaterialSuccessRate", _m_GetMaterialSuccessRate);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetMaterialLogicStringByIndex", _m_GetMaterialLogicStringByIndex);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "selectedLevel", _g_get_selectedLevel);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "selectedPlace", _g_get_selectedPlace);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "equipStarLevel", _g_get_equipStarLevel);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "equipMaxStarLevel", _g_get_equipMaxStarLevel);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "operateMaterialIndex", _g_get_operateMaterialIndex);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "starUpgradeProbability", _g_get_starUpgradeProbability);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "materials", _g_get_materials);
            Utils.EndObjectRegister(type, L, translator, null, null,
                null, null, null);
            Utils.BeginClassRegister(type, L, __CreateInstance, 2, 0, 0);
            Utils.RegisterFunc(L, Utils.CLS_IDX, "GetMaxStarLevel", _m_GetMaxStarLevel_xlua_st_);
            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.EquipStarModel gen_ret = new Snxxz.UI.EquipStarModel();
                    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.EquipStarModel constructor!");
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_Init(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipStarModel gen_to_be_invoked = (Snxxz.UI.EquipStarModel)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_UnInit(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipStarModel gen_to_be_invoked = (Snxxz.UI.EquipStarModel)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_OnBeforePlayerDataInitialize(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipStarModel gen_to_be_invoked = (Snxxz.UI.EquipStarModel)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.EquipStarModel gen_to_be_invoked = (Snxxz.UI.EquipStarModel)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_UpdateStarLevels(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipStarModel gen_to_be_invoked = (Snxxz.UI.EquipStarModel)translator.FastGetCSObj(L, 1);
                {
                    HA3B1_tagMCEquipPartStarInfo _info = (HA3B1_tagMCEquipPartStarInfo)translator.GetObject(L, 2, typeof(HA3B1_tagMCEquipPartStarInfo));
                    gen_to_be_invoked.UpdateStarLevels( _info );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_DoStarUpgrade(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipStarModel gen_to_be_invoked = (Snxxz.UI.EquipStarModel)translator.FastGetCSObj(L, 1);
                {
                    int _level = LuaAPI.xlua_tointeger(L, 2);
                    int _place = LuaAPI.xlua_tointeger(L, 3);
                    int _starLevel = LuaAPI.xlua_tointeger(L, 4);
                    gen_to_be_invoked.DoStarUpgrade( _level, _place, _starLevel );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_ResetOperateParams(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipStarModel gen_to_be_invoked = (Snxxz.UI.EquipStarModel)translator.FastGetCSObj(L, 1);
                {
                    gen_to_be_invoked.ResetOperateParams(  );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_SelectLevel(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipStarModel gen_to_be_invoked = (Snxxz.UI.EquipStarModel)translator.FastGetCSObj(L, 1);
                {
                    int _level = LuaAPI.xlua_tointeger(L, 2);
                    gen_to_be_invoked.SelectLevel( _level );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_SelectPlace(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipStarModel gen_to_be_invoked = (Snxxz.UI.EquipStarModel)translator.FastGetCSObj(L, 1);
                {
                    int _level = LuaAPI.xlua_tointeger(L, 2);
                    int _place = LuaAPI.xlua_tointeger(L, 3);
                    gen_to_be_invoked.SelectPlace( _level, _place );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_GetCandidatePlaces(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipStarModel gen_to_be_invoked = (Snxxz.UI.EquipStarModel)translator.FastGetCSObj(L, 1);
                {
                        System.Collections.Generic.List<int> gen_ret = gen_to_be_invoked.GetCandidatePlaces(  );
                        translator.Push(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_GetCandidatePlace(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipStarModel gen_to_be_invoked = (Snxxz.UI.EquipStarModel)translator.FastGetCSObj(L, 1);
                {
                    int _index = LuaAPI.xlua_tointeger(L, 2);
                        Snxxz.UI.EquipStarUpgradeCandidate gen_ret = gen_to_be_invoked.GetCandidatePlace( _index );
                        translator.Push(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_IsEquipPlaceUpgradable(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipStarModel gen_to_be_invoked = (Snxxz.UI.EquipStarModel)translator.FastGetCSObj(L, 1);
                {
                    string _equipGuid = LuaAPI.lua_tostring(L, 2);
                        bool gen_ret = gen_to_be_invoked.IsEquipPlaceUpgradable( _equipGuid );
                        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_GetMaxStarLevel_xlua_st_(RealStatePtr L)
        {
            try {
                int gen_param_count = LuaAPI.lua_gettop(L);
                if(gen_param_count == 1&& LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 1))
                {
                    int _level = LuaAPI.xlua_tointeger(L, 1);
                        int gen_ret = Snxxz.UI.EquipStarModel.GetMaxStarLevel( _level );
                        LuaAPI.xlua_pushinteger(L, gen_ret);
                    return 1;
                }
                if(gen_param_count == 2&& LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 1)&& LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 2))
                {
                    int _quality = LuaAPI.xlua_tointeger(L, 1);
                    int _level = LuaAPI.xlua_tointeger(L, 2);
                        int gen_ret = Snxxz.UI.EquipStarModel.GetMaxStarLevel( _quality, _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.EquipStarModel.GetMaxStarLevel!");
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_GetTotalStarLevel(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipStarModel gen_to_be_invoked = (Snxxz.UI.EquipStarModel)translator.FastGetCSObj(L, 1);
                {
                    int _level = LuaAPI.xlua_tointeger(L, 2);
                        int gen_ret = gen_to_be_invoked.GetTotalStarLevel( _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_GetEquipStarLevel(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipStarModel gen_to_be_invoked = (Snxxz.UI.EquipStarModel)translator.FastGetCSObj(L, 1);
                {
                    int _level = LuaAPI.xlua_tointeger(L, 2);
                    int _place = LuaAPI.xlua_tointeger(L, 3);
                        int gen_ret = gen_to_be_invoked.GetEquipStarLevel( _level, _place );
                        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_GetEquipCountWhichStarLevelLq(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipStarModel gen_to_be_invoked = (Snxxz.UI.EquipStarModel)translator.FastGetCSObj(L, 1);
                {
                    int _level = LuaAPI.xlua_tointeger(L, 2);
                    int _standard = LuaAPI.xlua_tointeger(L, 3);
                        int gen_ret = gen_to_be_invoked.GetEquipCountWhichStarLevelLq( _level, _standard );
                        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_GetMaterials(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipStarModel gen_to_be_invoked = (Snxxz.UI.EquipStarModel)translator.FastGetCSObj(L, 1);
                {
                    int _level = LuaAPI.xlua_tointeger(L, 2);
                    int _place = LuaAPI.xlua_tointeger(L, 3);
                    int _starLevel = LuaAPI.xlua_tointeger(L, 4);
                        System.Collections.Generic.List<string> gen_ret = gen_to_be_invoked.GetMaterials( _level, _place, _starLevel );
                        translator.Push(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_AddMaterial(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipStarModel gen_to_be_invoked = (Snxxz.UI.EquipStarModel)translator.FastGetCSObj(L, 1);
                {
                    int _index = LuaAPI.xlua_tointeger(L, 2);
                    string _itemGuid = LuaAPI.lua_tostring(L, 3);
                    gen_to_be_invoked.AddMaterial( _index, _itemGuid );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_RemoveMaterial(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipStarModel gen_to_be_invoked = (Snxxz.UI.EquipStarModel)translator.FastGetCSObj(L, 1);
                {
                    int _index = LuaAPI.xlua_tointeger(L, 2);
                    gen_to_be_invoked.RemoveMaterial( _index );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_GetMaterialSuccessRate(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipStarModel gen_to_be_invoked = (Snxxz.UI.EquipStarModel)translator.FastGetCSObj(L, 1);
                {
                    int _level = LuaAPI.xlua_tointeger(L, 2);
                    int _place = LuaAPI.xlua_tointeger(L, 3);
                    string _guid = LuaAPI.lua_tostring(L, 4);
                        float gen_ret = gen_to_be_invoked.GetMaterialSuccessRate( _level, _place, _guid );
                        LuaAPI.lua_pushnumber(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_GetMaterialLogicStringByIndex(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipStarModel gen_to_be_invoked = (Snxxz.UI.EquipStarModel)translator.FastGetCSObj(L, 1);
                {
                    int _index = LuaAPI.xlua_tointeger(L, 2);
                        LogicString gen_ret = gen_to_be_invoked.GetMaterialLogicStringByIndex( _index );
                        translator.Push(L, gen_ret);
                    return 1;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_selectedLevel(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipStarModel gen_to_be_invoked = (Snxxz.UI.EquipStarModel)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.selectedLevel);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_selectedPlace(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipStarModel gen_to_be_invoked = (Snxxz.UI.EquipStarModel)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.selectedPlace);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_equipStarLevel(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipStarModel gen_to_be_invoked = (Snxxz.UI.EquipStarModel)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.equipStarLevel);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_equipMaxStarLevel(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipStarModel gen_to_be_invoked = (Snxxz.UI.EquipStarModel)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.equipMaxStarLevel);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_operateMaterialIndex(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipStarModel gen_to_be_invoked = (Snxxz.UI.EquipStarModel)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.operateMaterialIndex);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_starUpgradeProbability(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipStarModel gen_to_be_invoked = (Snxxz.UI.EquipStarModel)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.starUpgradeProbability);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_materials(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipStarModel gen_to_be_invoked = (Snxxz.UI.EquipStarModel)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.materials);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
    }
}
Lua/Gen/SnxxzUIEquipStarModelWrap.cs.meta
copy from System/Strengthening/WashMasterCell.cs.meta copy to Lua/Gen/SnxxzUIEquipStarModelWrap.cs.meta
File was copied from System/Strengthening/WashMasterCell.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: fad8d20eda509594ab32a17be0778dce
timeCreated: 1528724150
guid: 1a91f93cb17d61c40b11957c3b816b1f
timeCreated: 1552309981
licenseType: Pro
MonoImporter:
  serializedVersion: 2
Lua/Gen/SnxxzUIEquipTrainModelWrap.cs
New file
@@ -0,0 +1,797 @@
#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 SnxxzUIEquipTrainModelWrap
    {
        public static void __Register(RealStatePtr L)
        {
            ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
            System.Type type = typeof(Snxxz.UI.EquipTrainModel);
            Utils.BeginObjectRegister(type, L, translator, 0, 18, 9, 0);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "Init", _m_Init);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "UnInit", _m_UnInit);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "ResetOperateParams", _m_ResetOperateParams);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "UpdateEquipTrainInfo", _m_UpdateEquipTrainInfo);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "Train", _m_Train);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "Save", _m_Save);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GiveUp", _m_GiveUp);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "SelectLevel", _m_SelectLevel);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "SelectPlace", _m_SelectPlace);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "SetInevitable", _m_SetInevitable);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetTrainLevel", _m_GetTrainLevel);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetTotalLevel", _m_GetTotalLevel);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetMaterialNeed", _m_GetMaterialNeed);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetMaxTrainLevel", _m_GetMaxTrainLevel);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetCandidatePlaces", _m_GetCandidatePlaces);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "IsEquipPlaceTrainable", _m_IsEquipPlaceTrainable);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetUnSavedProperties", _m_GetUnSavedProperties);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetTrainedProperties", _m_GetTrainedProperties);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "selectedLevel", _g_get_selectedLevel);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "selectedPlace", _g_get_selectedPlace);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "equipTrainLevel", _g_get_equipTrainLevel);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "equipTrainMaxLevel", _g_get_equipTrainMaxLevel);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "material", _g_get_material);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "inevitableMaterialCount", _g_get_inevitableMaterialCount);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "operateType", _g_get_operateType);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "candidatePlaces", _g_get_candidatePlaces);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "propertyBars", _g_get_propertyBars);
            Utils.EndObjectRegister(type, L, translator, null, null,
                null, null, null);
            Utils.BeginClassRegister(type, L, __CreateInstance, 2, 0, 0);
            Utils.RegisterFunc(L, Utils.CLS_IDX, "GetTrainType", _m_GetTrainType_xlua_st_);
            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.EquipTrainModel gen_ret = new Snxxz.UI.EquipTrainModel();
                    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.EquipTrainModel constructor!");
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_Init(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipTrainModel gen_to_be_invoked = (Snxxz.UI.EquipTrainModel)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_UnInit(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipTrainModel gen_to_be_invoked = (Snxxz.UI.EquipTrainModel)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_ResetOperateParams(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipTrainModel gen_to_be_invoked = (Snxxz.UI.EquipTrainModel)translator.FastGetCSObj(L, 1);
                {
                    gen_to_be_invoked.ResetOperateParams(  );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_UpdateEquipTrainInfo(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipTrainModel gen_to_be_invoked = (Snxxz.UI.EquipTrainModel)translator.FastGetCSObj(L, 1);
                {
                    HA3BB_tagMCEquipPartXLAttrInfo _info = (HA3BB_tagMCEquipPartXLAttrInfo)translator.GetObject(L, 2, typeof(HA3BB_tagMCEquipPartXLAttrInfo));
                    gen_to_be_invoked.UpdateEquipTrainInfo( _info );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_Train(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipTrainModel gen_to_be_invoked = (Snxxz.UI.EquipTrainModel)translator.FastGetCSObj(L, 1);
                {
                    int _level = LuaAPI.xlua_tointeger(L, 2);
                    int _place = LuaAPI.xlua_tointeger(L, 3);
                    bool[] _inevitables = (bool[])translator.GetObject(L, 4, typeof(bool[]));
                    gen_to_be_invoked.Train( _level, _place, _inevitables );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_Save(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipTrainModel gen_to_be_invoked = (Snxxz.UI.EquipTrainModel)translator.FastGetCSObj(L, 1);
                {
                    int _level = LuaAPI.xlua_tointeger(L, 2);
                    int _place = LuaAPI.xlua_tointeger(L, 3);
                    gen_to_be_invoked.Save( _level, _place );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_GiveUp(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipTrainModel gen_to_be_invoked = (Snxxz.UI.EquipTrainModel)translator.FastGetCSObj(L, 1);
                {
                    int _level = LuaAPI.xlua_tointeger(L, 2);
                    int _place = LuaAPI.xlua_tointeger(L, 3);
                    gen_to_be_invoked.GiveUp( _level, _place );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_SelectLevel(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipTrainModel gen_to_be_invoked = (Snxxz.UI.EquipTrainModel)translator.FastGetCSObj(L, 1);
                {
                    int _level = LuaAPI.xlua_tointeger(L, 2);
                    gen_to_be_invoked.SelectLevel( _level );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_SelectPlace(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipTrainModel gen_to_be_invoked = (Snxxz.UI.EquipTrainModel)translator.FastGetCSObj(L, 1);
                {
                    int _level = LuaAPI.xlua_tointeger(L, 2);
                    int _place = LuaAPI.xlua_tointeger(L, 3);
                    gen_to_be_invoked.SelectPlace( _level, _place );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_SetInevitable(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipTrainModel gen_to_be_invoked = (Snxxz.UI.EquipTrainModel)translator.FastGetCSObj(L, 1);
                {
                    int _index = LuaAPI.xlua_tointeger(L, 2);
                    bool _invevitable = LuaAPI.lua_toboolean(L, 3);
                    gen_to_be_invoked.SetInevitable( _index, _invevitable );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_GetTrainLevel(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipTrainModel gen_to_be_invoked = (Snxxz.UI.EquipTrainModel)translator.FastGetCSObj(L, 1);
                {
                    int _level = LuaAPI.xlua_tointeger(L, 2);
                    int _place = LuaAPI.xlua_tointeger(L, 3);
                        int gen_ret = gen_to_be_invoked.GetTrainLevel( _level, _place );
                        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_GetTotalLevel(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipTrainModel gen_to_be_invoked = (Snxxz.UI.EquipTrainModel)translator.FastGetCSObj(L, 1);
                {
                    int _level = LuaAPI.xlua_tointeger(L, 2);
                        int gen_ret = gen_to_be_invoked.GetTotalLevel( _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_GetMaterialNeed(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipTrainModel gen_to_be_invoked = (Snxxz.UI.EquipTrainModel)translator.FastGetCSObj(L, 1);
                {
                    int _level = LuaAPI.xlua_tointeger(L, 2);
                    int _place = LuaAPI.xlua_tointeger(L, 3);
                        int gen_ret = gen_to_be_invoked.GetMaterialNeed( _level, _place );
                        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_GetMaxTrainLevel(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipTrainModel gen_to_be_invoked = (Snxxz.UI.EquipTrainModel)translator.FastGetCSObj(L, 1);
                int gen_param_count = LuaAPI.lua_gettop(L);
                if(gen_param_count == 2&& LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 2))
                {
                    int _place = LuaAPI.xlua_tointeger(L, 2);
                        int gen_ret = gen_to_be_invoked.GetMaxTrainLevel( _place );
                        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 _level = LuaAPI.xlua_tointeger(L, 2);
                    int _place = LuaAPI.xlua_tointeger(L, 3);
                        int gen_ret = gen_to_be_invoked.GetMaxTrainLevel( _level, _place );
                        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.EquipTrainModel.GetMaxTrainLevel!");
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_GetCandidatePlaces(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipTrainModel gen_to_be_invoked = (Snxxz.UI.EquipTrainModel)translator.FastGetCSObj(L, 1);
                {
                        System.Collections.Generic.List<Snxxz.UI.EquipTrainCandidate> gen_ret = gen_to_be_invoked.GetCandidatePlaces(  );
                        translator.Push(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_IsEquipPlaceTrainable(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipTrainModel gen_to_be_invoked = (Snxxz.UI.EquipTrainModel)translator.FastGetCSObj(L, 1);
                {
                    string _equipGuid = LuaAPI.lua_tostring(L, 2);
                        bool gen_ret = gen_to_be_invoked.IsEquipPlaceTrainable( _equipGuid );
                        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_GetUnSavedProperties(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipTrainModel gen_to_be_invoked = (Snxxz.UI.EquipTrainModel)translator.FastGetCSObj(L, 1);
                {
                    int _level = LuaAPI.xlua_tointeger(L, 2);
                    int _place = LuaAPI.xlua_tointeger(L, 3);
                        Int3 gen_ret = gen_to_be_invoked.GetUnSavedProperties( _level, _place );
                        translator.Push(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_GetTrainedProperties(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipTrainModel gen_to_be_invoked = (Snxxz.UI.EquipTrainModel)translator.FastGetCSObj(L, 1);
                {
                    int _level = LuaAPI.xlua_tointeger(L, 2);
                    int _place = LuaAPI.xlua_tointeger(L, 3);
                        Int3 gen_ret = gen_to_be_invoked.GetTrainedProperties( _level, _place );
                        translator.Push(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_GetTrainType_xlua_st_(RealStatePtr L)
        {
            try {
                {
                    int _equipType = LuaAPI.xlua_tointeger(L, 1);
                        int gen_ret = Snxxz.UI.EquipTrainModel.GetTrainType( _equipType );
                        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 _g_get_selectedLevel(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipTrainModel gen_to_be_invoked = (Snxxz.UI.EquipTrainModel)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.selectedLevel);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_selectedPlace(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipTrainModel gen_to_be_invoked = (Snxxz.UI.EquipTrainModel)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.selectedPlace);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_equipTrainLevel(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipTrainModel gen_to_be_invoked = (Snxxz.UI.EquipTrainModel)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.equipTrainLevel);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_equipTrainMaxLevel(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipTrainModel gen_to_be_invoked = (Snxxz.UI.EquipTrainModel)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.equipTrainMaxLevel);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_material(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipTrainModel gen_to_be_invoked = (Snxxz.UI.EquipTrainModel)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.material);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_inevitableMaterialCount(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipTrainModel gen_to_be_invoked = (Snxxz.UI.EquipTrainModel)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.inevitableMaterialCount);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_operateType(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipTrainModel gen_to_be_invoked = (Snxxz.UI.EquipTrainModel)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.operateType);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_candidatePlaces(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipTrainModel gen_to_be_invoked = (Snxxz.UI.EquipTrainModel)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.candidatePlaces);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_propertyBars(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.EquipTrainModel gen_to_be_invoked = (Snxxz.UI.EquipTrainModel)translator.FastGetCSObj(L, 1);
                translator.Push(L, gen_to_be_invoked.propertyBars);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
    }
}
Lua/Gen/SnxxzUIEquipTrainModelWrap.cs.meta
copy from System/Strengthening/WashMasterCell.cs.meta copy to Lua/Gen/SnxxzUIEquipTrainModelWrap.cs.meta
File was copied from System/Strengthening/WashMasterCell.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: fad8d20eda509594ab32a17be0778dce
timeCreated: 1528724150
guid: 7b3a31634e12bd440a1034c3c94b90ae
timeCreated: 1552309981
licenseType: Pro
MonoImporter:
  serializedVersion: 2
Lua/Gen/SnxxzUIRealmModelWrap.cs
@@ -21,7 +21,7 @@
        {
            ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
            System.Type type = typeof(Snxxz.UI.RealmModel);
            Utils.BeginObjectRegister(type, L, translator, 0, 10, 17, 8);
            Utils.BeginObjectRegister(type, L, translator, 0, 9, 15, 6);
            
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnBeforePlayerDataInitialize", _m_OnBeforePlayerDataInitialize);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "Init", _m_Init);
Lua/Gen/SnxxzUIRolePromoteModelWrap.cs
@@ -21,7 +21,7 @@
        {
            ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
            System.Type type = typeof(Snxxz.UI.RolePromoteModel);
            Utils.BeginObjectRegister(type, L, translator, 0, 18, 4, 4);
            Utils.BeginObjectRegister(type, L, translator, 0, 17, 4, 4);
            
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "Init", _m_Init);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "UnInit", _m_UnInit);
@@ -37,7 +37,6 @@
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetMountCnt", _m_GetMountCnt);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetMountTotallv", _m_GetMountTotallv);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetPetCnt", _m_GetPetCnt);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetWashCnt", _m_GetWashCnt);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetBlastFurnaceDragUseCount", _m_GetBlastFurnaceDragUseCount);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "CheckPromoteDetailEffect", _m_CheckPromoteDetailEffect);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "GetPromoteDetailShow", _m_GetPromoteDetailShow);
@@ -483,35 +482,6 @@
                    int _lv = LuaAPI.xlua_tointeger(L, 2);
                    
                        int gen_ret = gen_to_be_invoked.GetPetCnt( _lv );
                        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_GetWashCnt(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                Snxxz.UI.RolePromoteModel gen_to_be_invoked = (Snxxz.UI.RolePromoteModel)translator.FastGetCSObj(L, 1);
                {
                    int _lv = LuaAPI.xlua_tointeger(L, 2);
                        int gen_ret = gen_to_be_invoked.GetWashCnt( _lv );
                        LuaAPI.xlua_pushinteger(L, gen_ret);
                    
                    
Lua/Gen/SnxxzUIRolePromoteModelWrap.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 622ddb43baa2a8c41be78524753d9091
timeCreated: 1550120579
timeCreated: 1552309981
licenseType: Pro
MonoImporter:
  serializedVersion: 2
Lua/Gen/WashLevelMaxConfigWrap.cs
New file
@@ -0,0 +1,408 @@
#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 WashLevelMaxConfigWrap
    {
        public static void __Register(RealStatePtr L)
        {
            ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
            System.Type type = typeof(WashLevelMaxConfig);
            Utils.BeginObjectRegister(type, L, translator, 0, 1, 4, 0);
            Utils.RegisterFunc(L, Utils.METHOD_IDX, "OnConfigParseCompleted", _m_OnConfigParseCompleted);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "id", _g_get_id);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "equipType", _g_get_equipType);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "equipStar", _g_get_equipStar);
            Utils.RegisterFunc(L, Utils.GETTER_IDX, "levelMax", _g_get_levelMax);
            Utils.EndObjectRegister(type, L, translator, null, null,
                null, null, null);
            Utils.BeginClassRegister(type, L, __CreateInstance, 7, 1, 0);
            Utils.RegisterFunc(L, Utils.CLS_IDX, "Get", _m_Get_xlua_st_);
            Utils.RegisterFunc(L, Utils.CLS_IDX, "GetKeys", _m_GetKeys_xlua_st_);
            Utils.RegisterFunc(L, Utils.CLS_IDX, "GetValues", _m_GetValues_xlua_st_);
            Utils.RegisterFunc(L, Utils.CLS_IDX, "Has", _m_Has_xlua_st_);
            Utils.RegisterFunc(L, Utils.CLS_IDX, "Init", _m_Init_xlua_st_);
            Utils.RegisterFunc(L, Utils.CLS_IDX, "GetMaxLevel", _m_GetMaxLevel_xlua_st_);
            Utils.RegisterFunc(L, Utils.CLS_GETTER_IDX, "inited", _g_get_inited);
            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)
                {
                    WashLevelMaxConfig gen_ret = new WashLevelMaxConfig();
                    translator.Push(L, gen_ret);
                    return 1;
                }
                if(LuaAPI.lua_gettop(L) == 2 && (LuaAPI.lua_isnil(L, 2) || LuaAPI.lua_type(L, 2) == LuaTypes.LUA_TSTRING))
                {
                    string _input = LuaAPI.lua_tostring(L, 2);
                    WashLevelMaxConfig gen_ret = new WashLevelMaxConfig(_input);
                    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 WashLevelMaxConfig constructor!");
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_Get_xlua_st_(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                int gen_param_count = LuaAPI.lua_gettop(L);
                if(gen_param_count == 1&& LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 1))
                {
                    int _id = LuaAPI.xlua_tointeger(L, 1);
                        WashLevelMaxConfig gen_ret = WashLevelMaxConfig.Get( _id );
                        translator.Push(L, gen_ret);
                    return 1;
                }
                if(gen_param_count == 2&& LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 1)&& LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 2))
                {
                    int _type = LuaAPI.xlua_tointeger(L, 1);
                    int _star = LuaAPI.xlua_tointeger(L, 2);
                        WashLevelMaxConfig gen_ret = WashLevelMaxConfig.Get( _type, _star );
                        translator.Push(L, gen_ret);
                    return 1;
                }
                if(gen_param_count == 1&& (LuaAPI.lua_isnil(L, 1) || LuaAPI.lua_type(L, 1) == LuaTypes.LUA_TSTRING))
                {
                    string _id = LuaAPI.lua_tostring(L, 1);
                        WashLevelMaxConfig gen_ret = WashLevelMaxConfig.Get( _id );
                        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 WashLevelMaxConfig.Get!");
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_GetKeys_xlua_st_(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                {
                        System.Collections.Generic.List<string> gen_ret = WashLevelMaxConfig.GetKeys(  );
                        translator.Push(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_GetValues_xlua_st_(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                {
                        System.Collections.Generic.List<WashLevelMaxConfig> gen_ret = WashLevelMaxConfig.GetValues(  );
                        translator.Push(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_Has_xlua_st_(RealStatePtr L)
        {
            try {
                int gen_param_count = LuaAPI.lua_gettop(L);
                if(gen_param_count == 1&& LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 1))
                {
                    int _id = LuaAPI.xlua_tointeger(L, 1);
                        bool gen_ret = WashLevelMaxConfig.Has( _id );
                        LuaAPI.lua_pushboolean(L, gen_ret);
                    return 1;
                }
                if(gen_param_count == 1&& (LuaAPI.lua_isnil(L, 1) || LuaAPI.lua_type(L, 1) == LuaTypes.LUA_TSTRING))
                {
                    string _id = LuaAPI.lua_tostring(L, 1);
                        bool gen_ret = WashLevelMaxConfig.Has( _id );
                        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 WashLevelMaxConfig.Has!");
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_Init_xlua_st_(RealStatePtr L)
        {
            try {
                int gen_param_count = LuaAPI.lua_gettop(L);
                if(gen_param_count == 1&& LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 1))
                {
                    bool _sync = LuaAPI.lua_toboolean(L, 1);
                    WashLevelMaxConfig.Init( _sync );
                    return 0;
                }
                if(gen_param_count == 0)
                {
                    WashLevelMaxConfig.Init(  );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return LuaAPI.luaL_error(L, "invalid arguments to WashLevelMaxConfig.Init!");
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_OnConfigParseCompleted(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                WashLevelMaxConfig gen_to_be_invoked = (WashLevelMaxConfig)translator.FastGetCSObj(L, 1);
                {
                    gen_to_be_invoked.OnConfigParseCompleted(  );
                    return 0;
                }
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _m_GetMaxLevel_xlua_st_(RealStatePtr L)
        {
            try {
                {
                    int _type = LuaAPI.xlua_tointeger(L, 1);
                        int gen_ret = WashLevelMaxConfig.GetMaxLevel( _type );
                        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 _g_get_inited(RealStatePtr L)
        {
            try {
                LuaAPI.lua_pushboolean(L, WashLevelMaxConfig.inited);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_id(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                WashLevelMaxConfig gen_to_be_invoked = (WashLevelMaxConfig)translator.FastGetCSObj(L, 1);
                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.id);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_equipType(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                WashLevelMaxConfig gen_to_be_invoked = (WashLevelMaxConfig)translator.FastGetCSObj(L, 1);
                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.equipType);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_equipStar(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                WashLevelMaxConfig gen_to_be_invoked = (WashLevelMaxConfig)translator.FastGetCSObj(L, 1);
                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.equipStar);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
        [MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
        static int _g_get_levelMax(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                WashLevelMaxConfig gen_to_be_invoked = (WashLevelMaxConfig)translator.FastGetCSObj(L, 1);
                LuaAPI.xlua_pushinteger(L, gen_to_be_invoked.levelMax);
            } catch(System.Exception gen_e) {
                return LuaAPI.luaL_error(L, "c# exception:" + gen_e);
            }
            return 1;
        }
    }
}
Lua/Gen/WashLevelMaxConfigWrap.cs.meta
copy from System/Strengthening/WashMasterCell.cs.meta copy to Lua/Gen/WashLevelMaxConfigWrap.cs.meta
File was copied from System/Strengthening/WashMasterCell.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: fad8d20eda509594ab32a17be0778dce
timeCreated: 1528724150
guid: 9384cb34198ae704ab4ae0d81b9d0f22
timeCreated: 1552309981
licenseType: Pro
MonoImporter:
  serializedVersion: 2
Lua/Gen/WashProModelWrap.cs
File was deleted
Lua/Gen/WashProModelWrap.cs.meta
File was deleted
Lua/Gen/XLuaGenAutoRegister.cs
@@ -650,6 +650,9 @@
        static void wrapInit4(LuaEnv luaenv, ObjectTranslator translator)
        {
        
            translator.DelayWrapLoader(typeof(WashLevelMaxConfig), WashLevelMaxConfigWrap.__Register);
            translator.DelayWrapLoader(typeof(WeatherConfig), WeatherConfigWrap.__Register);
        
        
@@ -799,13 +802,13 @@
        
            translator.DelayWrapLoader(typeof(UnityEngine.Bounds), UnityEngineBoundsWrap.__Register);
        
            translator.DelayWrapLoader(typeof(UnityEngine.Ray2D), UnityEngineRay2DWrap.__Register);
        }
        
        static void wrapInit5(LuaEnv luaenv, ObjectTranslator translator)
        {
            translator.DelayWrapLoader(typeof(UnityEngine.Ray2D), UnityEngineRay2DWrap.__Register);
        
            translator.DelayWrapLoader(typeof(UnityEngine.Time), UnityEngineTimeWrap.__Register);
        
@@ -956,13 +959,13 @@
        
            translator.DelayWrapLoader(typeof(Snxxz.UI.DailyQuestActionTimer), SnxxzUIDailyQuestActionTimerWrap.__Register);
        
            translator.DelayWrapLoader(typeof(Snxxz.UI.DailyQuestModel), SnxxzUIDailyQuestModelWrap.__Register);
        }
        
        static void wrapInit6(LuaEnv luaenv, ObjectTranslator translator)
        {
            translator.DelayWrapLoader(typeof(Snxxz.UI.DailyQuestModel), SnxxzUIDailyQuestModelWrap.__Register);
        
            translator.DelayWrapLoader(typeof(Snxxz.UI.ResourcesBackModel), SnxxzUIResourcesBackModelWrap.__Register);
        
@@ -995,6 +998,15 @@
        
        
            translator.DelayWrapLoader(typeof(Snxxz.UI.TrialDungeonModel), SnxxzUITrialDungeonModelWrap.__Register);
            translator.DelayWrapLoader(typeof(Snxxz.UI.EquipModel), SnxxzUIEquipModelWrap.__Register);
            translator.DelayWrapLoader(typeof(Snxxz.UI.EquipStarModel), SnxxzUIEquipStarModelWrap.__Register);
            translator.DelayWrapLoader(typeof(Snxxz.UI.EquipTrainModel), SnxxzUIEquipTrainModelWrap.__Register);
        
        
            translator.DelayWrapLoader(typeof(Snxxz.UI.FairyBossModel), SnxxzUIFairyBossModelWrap.__Register);
@@ -1104,6 +1116,10 @@
        
            translator.DelayWrapLoader(typeof(Snxxz.UI.JadeDynastyTowerModel), SnxxzUIJadeDynastyTowerModelWrap.__Register);
        
        }
        static void wrapInit7(LuaEnv luaenv, ObjectTranslator translator)
        {
        
            translator.DelayWrapLoader(typeof(Snxxz.UI.FBHelpPointExchageModel), SnxxzUIFBHelpPointExchageModelWrap.__Register);
        
@@ -1116,10 +1132,6 @@
        
            translator.DelayWrapLoader(typeof(Snxxz.UI.ItemLogicUtility), SnxxzUIItemLogicUtilityWrap.__Register);
        
        }
        static void wrapInit7(LuaEnv luaenv, ObjectTranslator translator)
        {
        
            translator.DelayWrapLoader(typeof(Snxxz.UI.ItemOperateUtility), SnxxzUIItemOperateUtilityWrap.__Register);
        
@@ -1261,6 +1273,10 @@
        
            translator.DelayWrapLoader(typeof(Snxxz.UI.WishingPoolModel), SnxxzUIWishingPoolModelWrap.__Register);
        
        }
        static void wrapInit8(LuaEnv luaenv, ObjectTranslator translator)
        {
        
            translator.DelayWrapLoader(typeof(PetBackpack), PetBackpackWrap.__Register);
        
@@ -1273,10 +1289,6 @@
        
            translator.DelayWrapLoader(typeof(PlayerDeadModel), PlayerDeadModelWrap.__Register);
        
        }
        static void wrapInit8(LuaEnv luaenv, ObjectTranslator translator)
        {
        
            translator.DelayWrapLoader(typeof(Snxxz.UI.RankModel), SnxxzUIRankModelWrap.__Register);
        
@@ -1341,9 +1353,6 @@
            translator.DelayWrapLoader(typeof(EquipReinforceModel), EquipReinforceModelWrap.__Register);
        
        
            translator.DelayWrapLoader(typeof(EquipWashModel), EquipWashModelWrap.__Register);
            translator.DelayWrapLoader(typeof(Snxxz.UI.GemModel), SnxxzUIGemModelWrap.__Register);
        
        
@@ -1351,9 +1360,6 @@
        
        
            translator.DelayWrapLoader(typeof(HowToPlayModel), HowToPlayModelWrap.__Register);
            translator.DelayWrapLoader(typeof(WashProModel), WashProModelWrap.__Register);
        
        
            translator.DelayWrapLoader(typeof(Snxxz.UI.WingsRedDotModel), SnxxzUIWingsRedDotModelWrap.__Register);
@@ -1424,16 +1430,16 @@
        
            translator.DelayWrapLoader(typeof(Snxxz.UI.VipInvestModel), SnxxzUIVipInvestModelWrap.__Register);
        
        }
        static void wrapInit9(LuaEnv luaenv, ObjectTranslator translator)
        {
        
            translator.DelayWrapLoader(typeof(Snxxz.UI.WheelOfFortuneModel), SnxxzUIWheelOfFortuneModelWrap.__Register);
        
        
            translator.DelayWrapLoader(typeof(Snxxz.UI.VipModel), SnxxzUIVipModelWrap.__Register);
        
        }
        static void wrapInit9(LuaEnv luaenv, ObjectTranslator translator)
        {
        
            translator.DelayWrapLoader(typeof(SpeechTranslate), SpeechTranslateWrap.__Register);
        
Lua/Gen/XLuaGenAutoRegister.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: ff2dde43802d1d14795873c131842a1e
timeCreated: 1552276115
timeCreated: 1552309981
licenseType: Pro
MonoImporter:
  serializedVersion: 2
Lua/Gen/link.xml
@@ -215,6 +215,7 @@
        <type fullname="ViewRoleFuncConfig" preserve="all"/>
        <type fullname="VipPrivilegeConfig" preserve="all"/>
        <type fullname="WHYJRewardConfig" preserve="all"/>
        <type fullname="WashLevelMaxConfig" preserve="all"/>
        <type fullname="WeatherConfig" preserve="all"/>
        <type fullname="WeekPartyConfig" preserve="all"/>
        <type fullname="WeekPartyPointConfig" preserve="all"/>
@@ -299,6 +300,9 @@
        <type fullname="Snxxz.UI.DungeonModel" preserve="all"/>
        <type fullname="IceLodeStarAwardClass" preserve="all"/>
        <type fullname="Snxxz.UI.TrialDungeonModel" preserve="all"/>
        <type fullname="Snxxz.UI.EquipModel" preserve="all"/>
        <type fullname="Snxxz.UI.EquipStarModel" preserve="all"/>
        <type fullname="Snxxz.UI.EquipTrainModel" preserve="all"/>
        <type fullname="Snxxz.UI.FairyBossModel" preserve="all"/>
        <type fullname="Snxxz.UI.FairyFeastModel" preserve="all"/>
        <type fullname="Snxxz.UI.FairyGrabBossModel" preserve="all"/>
@@ -411,11 +415,9 @@
        <type fullname="Snxxz.UI.BuySuccessModel" preserve="all"/>
        <type fullname="StoreModel" preserve="all"/>
        <type fullname="EquipReinforceModel" preserve="all"/>
        <type fullname="EquipWashModel" preserve="all"/>
        <type fullname="Snxxz.UI.GemModel" preserve="all"/>
        <type fullname="GodBeastModel" preserve="all"/>
        <type fullname="HowToPlayModel" preserve="all"/>
        <type fullname="WashProModel" preserve="all"/>
        <type fullname="Snxxz.UI.WingsRedDotModel" preserve="all"/>
        <type fullname="Snxxz.UI.ActivitiesPushModel" preserve="all"/>
        <type fullname="ChatSetting" preserve="all"/>
System/Equip/EquipFrameWin.cs
@@ -87,11 +87,14 @@
        {
            CloseSubWindows();
            WindowCenter.Instance.Open<EquipStarWin>();
            functionOrder = m_Star.order;
        }
        private void OpenStrengthenWin()
        {
            CloseSubWindows();
            CloseSubWindows();
            WindowCenter.Instance.Open<EquipStrengthWin>();
            functionOrder = m_Strengthen.order;
        }
        private void OpenInlayWin()
@@ -104,6 +107,8 @@
        private void OpenTrainWin()
        {
            CloseSubWindows();
            WindowCenter.Instance.Open<EquipTrainWin>();
            functionOrder = m_Train.order;
        }
        private void CloseEquipFrameWin()
System/Equip/EquipModel.cs
@@ -5,6 +5,7 @@
namespace Snxxz.UI
{
    [XLua.LuaCallCSharp]
    public class EquipModel : Model
    {
        public int showedUnLockLevel {
@@ -112,7 +113,10 @@
            {
                foreach (var item in items)
                {
                    candidateEquips.Add(new CandidateEquip(item.guid));
                    if (item.isBind == 0)
                    {
                        candidateEquips.Add(new CandidateEquip(item.guid));
                    }
                }
            }
        }
System/EquipGem/EquipStrengthHeadBehaviour.cs
New file
@@ -0,0 +1,69 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Monday, March 11, 2019
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI {
    public class EquipStrengthHeadBehaviour: CellView
    {
        [SerializeField] Text m_EquipHeadName;
        [SerializeField] Transform m_UpArrow;
        [SerializeField] Transform m_DownArrow;
        [SerializeField] Transform m_ContainerSelect;
        [SerializeField] Button m_Select;
        [SerializeField] RedpointBehaviour m_Redpoint;
        EquipModel equipModel { get { return ModelCenter.Instance.GetModel<EquipModel>(); } }
        EquipStrengthModel strengthModel { get { return ModelCenter.Instance.GetModel<EquipStrengthModel>(); } }
        int equipLevel = 0;
        public void Display(int level)
        {
            this.equipLevel = level;
            var equipSet = equipModel.GetEquipSet(level);
            if (equipSet != null)
            {
                var realmConfig = RealmConfig.Get(equipSet.realm);
                if (realmConfig != null)
                {
                    m_EquipHeadName.text = string.Format("{0}装备", realmConfig.Name);
                }
            }
            var select = strengthModel.SelectLevel == level;
            m_UpArrow.gameObject.SetActive(select);
            m_DownArrow.gameObject.SetActive(!select);
            m_ContainerSelect.gameObject.SetActive(select);
            m_Select.SetListener(OnSelect);
            Redpoint redpoint;
            m_Redpoint.redpointId = 0;
        }
        private void OnSelect()
        {
            if (strengthModel.SelectLevel == equipLevel)
            {
                strengthModel.SelectLevel = -1;
            }
            else
            {
                strengthModel.SelectLevel = equipLevel;
            }
        }
    }
}
System/EquipGem/EquipStrengthHeadBehaviour.cs.meta
copy from System/Strengthening/WashMasterCell.cs.meta copy to System/EquipGem/EquipStrengthHeadBehaviour.cs.meta
File was copied from System/Strengthening/WashMasterCell.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: fad8d20eda509594ab32a17be0778dce
timeCreated: 1528724150
guid: a2cb60c81a96d0d4da13e0543ef1fd64
timeCreated: 1552292183
licenseType: Pro
MonoImporter:
  serializedVersion: 2
System/EquipGem/EquipStrengthModel.cs
New file
@@ -0,0 +1,108 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Monday, March 11, 2019
//--------------------------------------------------------
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using Snxxz.UI;
using System;
//装备强化
public class EquipStrengthClass
{
    public int EquipIndex;//强化部位
    public int EquipPartStarLV;//等级
    public int Proficiency;//经验
    public int EvolveLV;//进化等级
    public int PackType;//强化类型
}
public class EquipStrengthModel : Model, IBeforePlayerDataInitialize, IPlayerLoginOk
{
    Dictionary<int, EquipStrengthClass> EquipStrengthDic = new Dictionary<int, EquipStrengthClass>();
    public event Action EquipStrengthUpdate;//强化数据刷新
    public event Action SelectEquipRefresh;//二级页签刷新
    public event Action SelectLevelRefresh;//一级页签刷新
    private int selectLevel = 0;
    public int SelectLevel//装备类别
    {
        get { return selectLevel; }
        set
        {
            if (selectLevel != value)
            {
                selectLevel = value;
                if (SelectLevelRefresh != null)
                {
                    SelectLevelRefresh();
                }
            }
        }
    }
    private int selectEquipPlace = -1;//装备部位
    public int SelectEquipPlace//装备类别
    {
        get { return selectEquipPlace; }
        set
        {
            if (selectEquipPlace != value)
            {
                selectEquipPlace = value;
                if (SelectEquipRefresh != null)
                {
                    SelectEquipRefresh();
                }
            }
        }
    }
    public override void Init()
    {
    }
    public void OnBeforePlayerDataInitialize()
    {
    }
    public void OnPlayerLoginOk()
    {
    }
    public override void UnInit()
    {
    }
    public void GetEuipPartPlusInfo(HA3B3_tagMCEquipPartPlusInfo info)
    {
        for (int i = 0; i < info.Count; i++)
        {
            var equipPartPlus = info.InfoList[i];
            EquipStrengthClass equipStrength = new EquipStrengthClass();
            equipStrength.PackType = equipPartPlus.PackType;
            equipStrength.EquipIndex = equipPartPlus.EquipIndex;
            equipStrength.EquipPartStarLV = equipPartPlus.EquipPartStarLV;
            equipStrength.Proficiency = (int)equipPartPlus.Proficiency;
            equipStrength.EvolveLV = equipPartPlus.EvolveLV;
            if (EquipStrengthDic.ContainsKey(equipPartPlus.EquipIndex))
            {
                EquipStrengthDic[equipPartPlus.EquipIndex] = equipStrength;
            }
            else
            {
                EquipStrengthDic.Add(equipPartPlus.EquipIndex, equipStrength);
            }
        }
        if (EquipStrengthUpdate != null)
        {
            EquipStrengthUpdate();
        }
    }
}
System/EquipGem/EquipStrengthModel.cs.meta
copy from System/Strengthening/WashMasterCell.cs.meta copy to System/EquipGem/EquipStrengthModel.cs.meta
File was copied from System/Strengthening/WashMasterCell.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: fad8d20eda509594ab32a17be0778dce
timeCreated: 1528724150
guid: 82db210fd517eaa4c98ec367397d6558
timeCreated: 1552289828
licenseType: Pro
MonoImporter:
  serializedVersion: 2
System/EquipGem/EquipStrengthSelectBehaviour.cs
New file
@@ -0,0 +1,107 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Monday, March 11, 2019
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI {
    public class EquipStrengthSelectBehaviour: CellView
    {
        [SerializeField] Transform m_ContainerEquip;
        [SerializeField] Transform m_ContainerUnEquip;
        [SerializeField] Text m_EquipPlaceName;
        [SerializeField] Transform m_ContainerSelect;
        [SerializeField] ItemCell m_Item;
        [SerializeField] Text m_ItemName;
        [SerializeField] TinyGem[] m_TinyGems;
        [SerializeField] Button m_Select;
        [SerializeField] RedpointBehaviour m_Redpoint;
        EquipGemModel model { get { return ModelCenter.Instance.GetModel<EquipGemModel>(); } }
        EquipModel equipModel { get { return ModelCenter.Instance.GetModel<EquipModel>(); } }
        EquipStarModel equipStarModel { get { return ModelCenter.Instance.GetModel<EquipStarModel>(); } }
        PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
        int equipLevel = 0;
        int equipPlace = 0;
        string equipGuid = string.Empty;
        public void Display(int level, int place)
        {
            this.equipLevel = level;
            this.equipPlace = place;
            var equipSet = equipModel.GetEquipSet(equipLevel);
            equipGuid = equipSet.GetEquip(equipPlace);
            var equiped = !string.IsNullOrEmpty(equipGuid);
            m_ContainerEquip.gameObject.SetActive(equiped);
            m_ContainerUnEquip.gameObject.SetActive(!equiped);
            m_Select.SetListener(() => { model.selectEquipPlace = equipPlace; });
            if (equiped)
            {
                DisplayBase();
                DisplayGems();
                EquipGemRedpoint equipGemRedpoint;
                if (model.TryGetRedpoint(level, place, out equipGemRedpoint))
                {
                    m_Redpoint.redpointId = equipGemRedpoint.repoint.id;
                }
            }
            else
            {
                m_Redpoint.redpointId = 0;
                DisplayUnEquip();
            }
            m_ContainerSelect.gameObject.SetActive(model.selectEquipPlace == equipPlace);
        }
        void DisplayBase()
        {
            var item = packModel.GetItemByGuid(equipGuid);
            if (item != null)
            {
                m_Item.Init(item);
                m_ItemName.text = item.config.ItemName;
                m_ItemName.color = UIHelper.GetUIColor(item.config.ItemColor, true);
            }
        }
        void DisplayGems()
        {
            List<EquipGem> equipGems = null;
            model.TryGetEquipGems(equipLevel, equipPlace, out equipGems);
            for (int i = 0; i < m_TinyGems.Length; i++)
            {
                bool isOpen = model.IsEquipGemHoleOpen(equipLevel, equipPlace, i);
                m_TinyGems[i].gameObject.SetActive(isOpen);
                if (isOpen)
                {
                    var id = (equipGems != null && i < equipGems.Count) ? equipGems[i].id : 0;
                    m_TinyGems[i].Set(id);
                }
            }
        }
        void DisplayUnEquip()
        {
            if (GeneralDefine.equipPlaceNameDict.ContainsKey(equipPlace))
            {
                m_EquipPlaceName.text = Language.Get("L1076", GeneralDefine.equipPlaceNameDict[equipPlace]);
            }
        }
    }
}
System/EquipGem/EquipStrengthSelectBehaviour.cs.meta
copy from System/Strengthening/WashMasterCell.cs.meta copy to System/EquipGem/EquipStrengthSelectBehaviour.cs.meta
File was copied from System/Strengthening/WashMasterCell.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: fad8d20eda509594ab32a17be0778dce
timeCreated: 1528724150
guid: cba1c47f88dcbfc4a9c01fa2738ba5c8
timeCreated: 1552292412
licenseType: Pro
MonoImporter:
  serializedVersion: 2
System/EquipGem/EquipStrengthWin.cs
New file
@@ -0,0 +1,125 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Monday, March 11, 2019
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI
{
    public class EquipStrengthWin : Window
    {
        [SerializeField] ScrollerController m_Controller;
        EquipStrengthModel strengthModel { get { return ModelCenter.Instance.GetModel<EquipStrengthModel>(); } }
        EquipGemModel model { get { return ModelCenter.Instance.GetModel<EquipGemModel>(); } }
        EquipModel equipModel { get { return ModelCenter.Instance.GetModel<EquipModel>(); } }
        PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
        #region Built-in
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        {
            m_Controller.OnRefreshCell += OnRefreshCell;
        }
        protected override void OnPreOpen()
        {
            DisplayEquips();
            strengthModel.SelectEquipRefresh += SelectEquipRefresh;
            strengthModel.SelectLevelRefresh += SelectLevelRefresh;
            strengthModel.EquipStrengthUpdate += EquipStrengthUpdate;
        }
        protected override void OnAfterOpen()
        {
        }
        protected override void OnPreClose()
        {
            strengthModel.SelectEquipRefresh -= SelectEquipRefresh;
            strengthModel.SelectLevelRefresh -= SelectLevelRefresh;
            strengthModel.EquipStrengthUpdate -= EquipStrengthUpdate;
        }
        protected override void OnAfterClose()
        {
        }
        #endregion
        private void EquipStrengthUpdate()
        {
        }
        void DisplayEquips()
        {
            m_Controller.Refresh();
            var equipSets = equipModel.GetAllEquipSets();
            foreach (var level in equipSets)
            {
                var equipSet = equipModel.GetEquipSet(level);
                if (equipSet == null)
                {
                    continue;
                }
                if (equipSet.unLocked)
                {
                    var slotCount = model.GetUnlockEquipSlotCount(level);
                    if (slotCount > 0)
                    {
                        m_Controller.AddCell(ScrollerDataType.Header, level);
                        if (model.selectLevel == level)
                        {
                            var places = model.GetMosaicEquipPlaces();
                            foreach (var place in places)
                            {
                                if (equipSet.IsSlotUnLocked(place))
                                {
                                    m_Controller.AddCell(ScrollerDataType.Normal, level * 1000 + place);
                                }
                            }
                        }
                    }
                }
            }
            m_Controller.Restart();
        }
        private void SelectEquipRefresh()
        {
            m_Controller.m_Scorller.RefreshActiveCellViews();
        }
        private void SelectLevelRefresh()
        {
            DisplayEquips();
        }
        private void OnRefreshCell(ScrollerDataType type, CellView cell)
        {
            switch (type)
            {
                case ScrollerDataType.Header:
                    var equipGemHeadCell = cell as EquipStrengthHeadBehaviour;
                    equipGemHeadCell.Display(cell.index);
                    break;
                case ScrollerDataType.Normal:
                    var level = cell.index / 1000;
                    var place = cell.index % 1000;
                    var equipSelectCell = cell as EquipStrengthSelectBehaviour;
                    equipSelectCell.Display(level, place);
                    break;
            }
        }
    }
}
System/EquipGem/EquipStrengthWin.cs.meta
copy from System/Strengthening/WashMasterCell.cs.meta copy to System/EquipGem/EquipStrengthWin.cs.meta
File was copied from System/Strengthening/WashMasterCell.cs.meta
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: fad8d20eda509594ab32a17be0778dce
timeCreated: 1528724150
guid: 95006410bf30c1f42b5c45a2327adf0b
timeCreated: 1552289263
licenseType: Pro
MonoImporter:
  serializedVersion: 2
System/EquipStar/EquipStarModel.cs
@@ -5,6 +5,7 @@
namespace Snxxz.UI
{
    [XLua.LuaCallCSharp]
    public class EquipStarModel : Model, IPlayerLoginOk, IBeforePlayerDataInitialize
    {
        public readonly LogicInt selectedLevel = new LogicInt();
System/EquipStar/EquipStarWin.cs
@@ -36,15 +36,18 @@
        #region Built-in
        protected override void BindController()
        {
            m_StarUpgrade.SetListener(StarUpgrade);
        }
        protected override void AddListeners()
        {
            m_StarUpgrade.SetListener(StarUpgrade);
        }
        protected override void OnPreOpen()
        {
            model.SelectLevel(equipModel.GetLastestUnLockEquipSet());
            DisplayBaseInfo();
            DisplayDynamicInfo(true);
        }
System/EquipTrain/EquipTrainCandidateBehaviour.cs
@@ -6,10 +6,11 @@
using System.Collections;
using UnityEngine.UI;
namespace Snxxz.UI {
namespace Snxxz.UI
{
    public class EquipTrainCandidateBehaviour : MonoBehaviour {
    public class EquipTrainCandidateBehaviour : MonoBehaviour
    {
        [SerializeField] Image m_BackGround;
        [SerializeField] Image m_EmptyItem;
        [SerializeField] ItemCell m_ItemCell;
@@ -17,17 +18,15 @@
        [SerializeField] Text m_Description2;
        [SerializeField] Button m_Select;
        EquipStarModel model { get { return ModelCenter.Instance.GetModel<EquipStarModel>(); } }
        EquipTrainModel model { get { return ModelCenter.Instance.GetModel<EquipTrainModel>(); } }
        EquipModel equipModel { get { return ModelCenter.Instance.GetModel<EquipModel>(); } }
        PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
        int place;
        EquipStarUpgradeCandidate candidate;
        EquipTrainCandidate candidate;
        public void Display(int place)
        public void Display(EquipTrainCandidate candidate)
        {
            this.place = place;
            this.candidate = model.GetCandidatePlace(this.place);
            this.candidate = candidate;
            DisplayBaseInfo();
            DisplayDynamicInfo(true);
@@ -63,7 +62,8 @@
                m_ItemCell.Init(item);
                m_Description1.text = item.config.ItemName;
                m_Description1.color = UIHelper.GetUIColor(item.config.ItemColor);
                m_Description2.text = string.Empty;
                var trainLevel = model.GetTrainLevel(candidate.level, candidate.place);
                m_Description2.text = string.Format("洗练等级:{0}级", trainLevel);
            }
        }
@@ -77,7 +77,6 @@
        }
    }
    public class EquipTrainCandidateBehaviourPool
    {
System/EquipTrain/EquipTrainLevelBehaviour.cs
@@ -18,7 +18,7 @@
        readonly List<EquipTrainCandidateBehaviour> slotBehaviours = new List<EquipTrainCandidateBehaviour>();
        EquipStarModel model { get { return ModelCenter.Instance.GetModel<EquipStarModel>(); } }
        EquipTrainModel model { get { return ModelCenter.Instance.GetModel<EquipTrainModel>(); } }
        EquipModel equipModel { get { return ModelCenter.Instance.GetModel<EquipModel>(); } }
        public int level { get; private set; }
System/EquipTrain/EquipTrainModel.cs
@@ -4,9 +4,9 @@
namespace Snxxz.UI
{
    [XLua.LuaCallCSharp]
    public class EquipTrainModel : Model
    {
        public readonly LogicInt selectedLevel = new LogicInt();
        public readonly LogicInt selectedPlace = new LogicInt();
        public readonly LogicInt equipTrainLevel = new LogicInt();
@@ -14,12 +14,11 @@
        public readonly LogicInt material = new LogicInt();
        public readonly LogicInt inevitableMaterialCount = new LogicInt();
        public readonly LogicEnum<TrainOperateType> operateType = new LogicEnum<TrainOperateType>(TrainOperateType.None);
        public readonly List<EquipTrainCandidate> candidatePlaces = new List<EquipTrainCandidate>();
        public readonly List<EquipTrainPropertyBar> propertyBars = new List<EquipTrainPropertyBar>();
        Dictionary<int, EquipTrainSet> equipTrains = new Dictionary<int, EquipTrainSet>();
        public readonly LogicList<EquipTrainCandidate> candidatePlaces = new LogicList<EquipTrainCandidate>();
        public readonly LogicList<EquipTrainPropertyBar> propertyBars = new LogicList<EquipTrainPropertyBar>();
        static Dictionary<int, int> trainTypes = new Dictionary<int, int>();
        Dictionary<int, EquipTrainSet> equipTrains = new Dictionary<int, EquipTrainSet>();
        EquipStarModel starModel { get { return ModelCenter.Instance.GetModel<EquipStarModel>(); } }
        PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
@@ -128,7 +127,7 @@
                for (var i = 0; i < places.Count; i++)
                {
                    var place = places[i];
                    candidatePlaces[place] = new EquipTrainCandidate(level, place);
                    candidatePlaces.Add(new EquipTrainCandidate(level, place));
                    if (i == 0)
                    {
                        SelectPlace(level, place);
@@ -141,13 +140,14 @@
        {
            selectedPlace.value = place;
            selectedPlace.dirty = true;
            foreach (var candidate in candidatePlaces)
            for (int i = 0; i < candidatePlaces.Count; i++)
            {
                var candidate = candidatePlaces[i];
                candidate.selected.value = candidate.level == level && candidate.place == place;
            }
            equipTrainLevel.value = GetTrainLevel(level, place);
            equipTrainMaxLevel.value = GetMaxTrainLevel(level);
            equipTrainMaxLevel.value = GetMaxTrainLevel(level, place);
            material.value = GetTrainMaterial(level, place);
            InitTrainableProperties(level, place);
@@ -184,15 +184,39 @@
            return equipTrains[level].GetTotalLevel();
        }
        public int GetMaxTrainLevel(int level)
        public int GetMaterialNeed(int level, int place)
        {
            var star = starModel.GetEquipStarLevel(level, place);
            var type = GetTrainType(place);
            var data = EquipWashConfig.Get(type, star + 1);
            return 5;
            return data.config.costCount;
        }
        public int GetMaxTrainLevel(int place)
        {
            var type = GetTrainType(place);
            return WashLevelMaxConfig.GetMaxLevel(type);
        }
        public int GetMaxTrainLevel(int level, int place)
        {
            return 5;
            var star = starModel.GetEquipStarLevel(level, place);
            var type = GetTrainType(place);
            var config = WashLevelMaxConfig.Get(type, star);
            if (config == null)
            {
                return 0;
            }
            else
            {
                return config.levelMax;
            }
        }
        public List<EquipTrainCandidate> GetCandidatePlaces()
        {
            return candidatePlaces.Fetch();
        }
        public bool IsEquipPlaceTrainable(string equipGuid)
@@ -208,7 +232,7 @@
                return false;
            }
            var maxStarLevel = GetMaxTrainLevel(equip.config.ItemColor, equip.config.LV);
            var maxStarLevel = GetMaxTrainLevel(equip.config.LV, equip.config.EquipPlace);
            var currentStarLevel = GetTrainLevel(equip.config.LV, equip.config.EquipPlace);
            return currentStarLevel < maxStarLevel;
        }
@@ -258,7 +282,7 @@
                var unSavedProperties = GetUnSavedProperties(level, place);
                var trainedProperties = GetTrainedProperties(level, place);
                var trainLevel = GetTrainLevel(level, place);
                var data = EquipWashConfig.Get(GetTrainType(place), trainLevel);
                var data = EquipWashConfig.Get(GetTrainType(place), trainLevel + 1);
                var propertyBar = new EquipTrainPropertyBar(data.config.attType1, data.config.attMax1);
                propertyBar.propertyValue.value = trainedProperties.x;
@@ -282,23 +306,25 @@
        private int GetTrainMaterial(int level, int place)
        {
            var equipGuid = equipModel.GetEquip(level, place);
            var equip = packModel.GetItemByGuid(equipGuid);
            if (equip == null)
            if (IsEquipPlaceTrainable(equipGuid))
            {
                return 0;
                var star = starModel.GetEquipStarLevel(level, place);
                var type = GetTrainType(place);
                var data = EquipWashConfig.Get(type, star + 1);
                return data.config.costItem;
            }
            else
            {
                return 1;
                return 0;
            }
        }
        private int CalculateInevitableMaterialCount()
        {
            var count = 0;
            foreach (var bar in propertyBars)
            for (int i = 0; i < propertyBars.Count; i++)
            {
                count += bar.inevitable.value ? 1 : 0;
                count += propertyBars[i].inevitable.value ? 1 : 0;
            }
            return count;
@@ -308,7 +334,7 @@
        {
            var currentLevel = GetTrainLevel(level, place);
            var maxLevel = GetMaxTrainLevel(level, place);
            if (currentLevel >= maxLevel)
            if (maxLevel > 0 && currentLevel >= maxLevel)
            {
                return TrainOperateType.Max;
            }
@@ -331,26 +357,8 @@
        private void ParseConfig()
        {
            var config = FuncConfigConfig.Get("EquipWashGroup1");
            var equipTypes = ConfigParse.GetMultipleStr<int>(config.Numerical1);
            foreach (var equipType in equipTypes)
            {
                trainTypes[equipType] = 1;
            }
            config = FuncConfigConfig.Get("EquipWashGroup2");
            equipTypes = ConfigParse.GetMultipleStr<int>(config.Numerical1);
            foreach (var equipType in equipTypes)
            {
                trainTypes[equipType] = 2;
            }
            config = FuncConfigConfig.Get("EquipWashGroup3");
            equipTypes = ConfigParse.GetMultipleStr<int>(config.Numerical1);
            foreach (var equipType in equipTypes)
            {
                trainTypes[equipType] = 3;
            }
            var config = FuncConfigConfig.Get("EquipWashGroup");
            trainTypes = ConfigParse.GetDic<int, int>(config.Numerical1);
        }
        public static int GetTrainType(int equipType)
System/EquipTrain/EquipTrainPropertyBarBehaviour.cs
@@ -11,8 +11,92 @@
    public class EquipTrainPropertyBarBehaviour : MonoBehaviour
    {
        [SerializeField] int m_Index;
        [SerializeField] Text m_PropertyName;
        [SerializeField] Text m_Value;
        [SerializeField] Slider m_Progress;
        [SerializeField] Text m_DeltaValue;
        [SerializeField] ToggleButton m_Inevitable;
        EquipTrainModel model { get { return ModelCenter.Instance.GetModel<EquipTrainModel>(); } }
        EquipTrainPropertyBar propertyBar;
        public void Display(EquipTrainPropertyBar propertyBar)
        {
            this.propertyBar = propertyBar;
            DisplayBaseInfo();
            DisplayDynamicInfo(true);
            m_Inevitable.SetListener(SwitchInevitable);
        }
        private void LateUpdate()
        {
            DisplayDynamicInfo(false);
        }
        private void DisplayBaseInfo()
        {
            var config = PlayerPropertyConfig.Get(propertyBar.propertyId);
            m_PropertyName.text = config.Name;
        }
        private void DisplayDynamicInfo(bool force)
        {
            if (force || propertyBar.inevitable.dirty)
            {
                m_Inevitable.isOn = propertyBar.inevitable.Fetch();
            }
            if (force || propertyBar.propertyValue.dirty)
            {
                var value = propertyBar.propertyValue.Fetch();
                var maxValue = propertyBar.upperLimit;
                m_Value.text = string.Format("{0}/{1}", value, maxValue);
                m_Progress.value = Mathf.Clamp01((float)value / maxValue);
                m_Inevitable.gameObject.SetActive(value < maxValue);
            }
            if (force || propertyBar.deltaValue.dirty)
            {
                var deltaValue = propertyBar.deltaValue.Fetch();
                var isPerfect = propertyBar.propertyValue.value >= propertyBar.upperLimit;
                if (isPerfect)
                {
                    m_DeltaValue.text = "完美";
                    m_DeltaValue.color = UIHelper.GetUIColor(TextColType.Green, true);
                }
                else
                {
                    if (deltaValue > 0)
                    {
                        m_DeltaValue.text = string.Format("+{0}", deltaValue);
                        m_DeltaValue.color = UIHelper.GetUIColor(TextColType.Green, true);
                    }
                    else if (deltaValue < 0)
                    {
                        m_DeltaValue.text = string.Format("-{0}", deltaValue);
                        m_DeltaValue.color = UIHelper.GetUIColor(TextColType.Red, true);
                    }
                    else
                    {
                        m_DeltaValue.text = string.Format("+{0}", deltaValue);
                        m_DeltaValue.color = UIHelper.GetUIColor(TextColType.Green, true);
                    }
                }
            }
        }
        private void SwitchInevitable()
        {
            model.SetInevitable(m_Index - 1, !propertyBar.inevitable.value);
        }
    }
System/EquipTrain/EquipTrainWin.cs
@@ -9,22 +9,52 @@
using UnityEngine;
using UnityEngine.UI;
namespace Snxxz.UI {
namespace Snxxz.UI
{
    public class EquipTrainWin : Window
    {
        [SerializeField] RectTransform m_LevelContainer;
        [SerializeField] Text m_MaxTrainLevel;
        [SerializeField] ItemCell m_TargetEquip;
        [SerializeField] MaterialCell m_MaterialCell;
        [SerializeField] InevitableMaterialCell m_InevitableMaterial;
        [SerializeField] RectTransform m_UnTrainableContainer;
        [SerializeField] RectTransform m_TrainableContainer;
        [SerializeField] Text m_TrainLevel;
        [SerializeField] EquipTrainPropertyBarBehaviour[] m_PropertyBarBehaviours;
        [SerializeField] RectTransform m_MaxLevelContainer;
        [SerializeField] Button m_Train;
        [SerializeField] Button m_Save;
        [SerializeField] Button m_GiveUp;
        List<EquipTrainLevelBehaviour> levelBehaviours = new List<EquipTrainLevelBehaviour>();
        EquipTrainModel model { get { return ModelCenter.Instance.GetModel<EquipTrainModel>(); } }
        EquipStarModel starModel { get { return ModelCenter.Instance.GetModel<EquipStarModel>(); } }
        EquipModel equipModel { get { return ModelCenter.Instance.GetModel<EquipModel>(); } }
        PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
        #region Built-in
        protected override void BindController()
        {
        }
        protected override void AddListeners()
        {
            m_Train.SetListener(Train);
            m_Save.SetListener(Save);
            m_GiveUp.SetListener(GiveUp);
        }
        protected override void OnPreOpen()
        {
        }
        protected override void OnAfterOpen()
@@ -33,13 +63,342 @@
        protected override void OnPreClose()
        {
        }
        protected override void OnAfterClose()
        {
            model.ResetOperateParams();
        }
        protected override void OnActived()
        {
            base.OnActived();
            model.SelectLevel(equipModel.GetLastestUnLockEquipSet());
            DisplayBaseInfo();
            DisplayDynamicInfo(true);
        }
        protected override void LateUpdate()
        {
            base.LateUpdate();
            DisplayDynamicInfo(false);
        }
        #endregion
        private void DisplayBaseInfo()
        {
            CreateLevelBehaviours();
        }
        private void DisplayDynamicInfo(bool force)
        {
            if (force || model.selectedLevel.dirty)
            {
                var level = model.selectedLevel.Fetch();
                for (var i = 0; i < levelBehaviours.Count; i++)
                {
                    var behaviour = levelBehaviours[i];
                    if (behaviour.level != level)
                    {
                        behaviour.Dispose();
                    }
                }
                for (var i = 0; i < levelBehaviours.Count; i++)
                {
                    var behaviour = levelBehaviours[i];
                    if (behaviour.level == level)
                    {
                        behaviour.Display();
                    }
                }
            }
            if (force || model.selectedPlace.dirty)
            {
                var level = model.selectedLevel.value;
                var place = model.selectedPlace.Fetch();
                var equipGuid = equipModel.GetEquip(level, place);
                var equip = packModel.GetItemByGuid(equipGuid);
                if (equip != null)
                {
                    m_TargetEquip.gameObject.SetActive(true);
                    m_TargetEquip.Init(equip);
                }
                else
                {
                    m_TargetEquip.gameObject.SetActive(false);
                }
            }
            if (force || model.equipTrainLevel.dirty)
            {
                var trainLevel = model.equipTrainLevel.Fetch();
                m_TrainLevel.text = string.Format("{0}级洗练", trainLevel);
                m_MaxLevelContainer.gameObject.SetActive(model.equipTrainLevel.value >= model.equipTrainMaxLevel.value);
            }
            if (force || model.equipTrainMaxLevel.dirty)
            {
                var level = model.selectedLevel.value;
                var place = model.selectedPlace.value;
                var maxTrain = model.equipTrainMaxLevel.Fetch();
                if (maxTrain > 0)
                {
                    var star = starModel.GetEquipStarLevel(level, place);
                    m_MaxTrainLevel.text = string.Format("{0}星装备最高可洗练至{1}级", star, maxTrain);
                }
                else
                {
                    m_MaxTrainLevel.text = "提升装备星级可洗练";
                }
            }
            if (force || model.material.dirty)
            {
                var level = model.selectedLevel.value;
                var place = model.selectedPlace.value;
                DisplayMaterial(level, place, model.material.Fetch());
            }
            if (force || model.inevitableMaterialCount.dirty)
            {
                var level = model.selectedLevel.value;
                var place = model.selectedPlace.value;
                DisplayInevitableMaterial(level, place, model.inevitableMaterialCount.Fetch());
            }
            if (force || model.operateType.dirty)
            {
                DisplayOperateButton(model.operateType.Fetch());
            }
            if (force || model.propertyBars.dirty)
            {
                DisplayProperty(model.propertyBars.Fetch());
            }
        }
        private void DisplayMaterial(int level, int place, int itemId)
        {
            var own = 0;
            var need = 0;
            if (itemId > 0)
            {
                need = model.GetMaterialNeed(level, place);
                own = packModel.GetItemCountByID(PackType.Item, itemId);
            }
            m_MaterialCell.Display(itemId, need, own);
        }
        private void DisplayInevitableMaterial(int level, int place, int need)
        {
            var equipGuid = equipModel.GetEquip(level, place);
            var trainable = model.IsEquipPlaceTrainable(equipGuid);
            if (trainable)
            {
                var own = packModel.GetItemCountByID(PackType.Item, GeneralDefine.equipTrainMustItemId);
                var type = EquipTrainModel.GetTrainType(place);
                var trainLevel = model.GetTrainLevel(level, place);
                var config = EquipWashConfig.Get(type, trainLevel + 1);
                m_InevitableMaterial.Display(false, own, need, config.mustCosts[need - 1]);
            }
            else
            {
                m_InevitableMaterial.Display(true, 0, 0, 0);
            }
        }
        private void DisplayProperty(List<EquipTrainPropertyBar> propertyBars)
        {
            var isTrainable = !propertyBars.IsNullOrEmpty();
            if (isTrainable)
            {
                m_UnTrainableContainer.gameObject.SetActive(false);
                m_TrainableContainer.gameObject.SetActive(true);
                for (int i = 0; i < m_PropertyBarBehaviours.Length; i++)
                {
                    var behaviour = m_PropertyBarBehaviours[i];
                    if (i < propertyBars.Count)
                    {
                        behaviour.gameObject.SetActive(true);
                        behaviour.Display(propertyBars[i]);
                    }
                    else
                    {
                        behaviour.gameObject.SetActive(false);
                    }
                }
            }
            else
            {
                m_UnTrainableContainer.gameObject.SetActive(true);
                m_TrainableContainer.gameObject.SetActive(false);
            }
        }
        private void DisplayOperateButton(EquipTrainModel.TrainOperateType opreateType)
        {
            switch (opreateType)
            {
                case EquipTrainModel.TrainOperateType.None:
                    m_Train.gameObject.SetActive(false);
                    m_Save.gameObject.SetActive(false);
                    m_GiveUp.gameObject.SetActive(false);
                    break;
                case EquipTrainModel.TrainOperateType.Train:
                    m_Train.gameObject.SetActive(true);
                    m_Save.gameObject.SetActive(false);
                    m_GiveUp.gameObject.SetActive(false);
                    break;
                case EquipTrainModel.TrainOperateType.Forbid:
                    break;
                case EquipTrainModel.TrainOperateType.Save:
                    m_Save.gameObject.SetActive(true);
                    m_Train.gameObject.SetActive(false);
                    m_GiveUp.gameObject.SetActive(false);
                    break;
                case EquipTrainModel.TrainOperateType.Max:
                    m_Train.gameObject.SetActive(false);
                    m_Save.gameObject.SetActive(false);
                    m_GiveUp.gameObject.SetActive(false);
                    break;
            }
        }
        private void Train()
        {
            var level = model.selectedLevel.value;
            var place = model.selectedPlace.value;
            var inevitables = new bool[3];
            for (int i = 0; i < 3; i++)
            {
                inevitables[i] = model.propertyBars[i].inevitable.value;
            }
            model.Train(level, place, inevitables);
        }
        private void Save()
        {
            var level = model.selectedLevel.value;
            var place = model.selectedPlace.value;
            model.Save(level, place);
        }
        private void GiveUp()
        {
            var level = model.selectedLevel.value;
            var place = model.selectedPlace.value;
            model.GiveUp(level, place);
        }
        private void CreateLevelBehaviours()
        {
            var levels = equipModel.GetUnLockedEquipSets();
            var gap = levels.Count - levelBehaviours.Count;
            for (var i = 0; i < gap; i++)
            {
                var instance = UIUtility.CreateWidget("EquipTrainLevelBehaviour", "EquipTrainLevelBehaviour");
                var behaviour = instance.GetComponent<EquipTrainLevelBehaviour>();
                behaviour.transform.SetParentEx(m_LevelContainer, Vector3.zero, Quaternion.identity, Vector3.one);
                levelBehaviours.Add(behaviour);
            }
            for (var i = 0; i < levelBehaviours.Count; i++)
            {
                var behaviour = levelBehaviours[i];
                if (i < levels.Count)
                {
                    behaviour.gameObject.SetActive(true);
                    behaviour.UnInit();
                    behaviour.Init(levels[i]);
                }
                else
                {
                    behaviour.UnInit();
                    behaviour.gameObject.SetActive(false);
                }
            }
        }
        [Serializable]
        public class MaterialCell
        {
            public RectTransform m_LockContainer;
            public ItemBehaviour m_Material;
            public Text m_MaterialCount;
            public void Display(int itemId, int need, int own)
            {
                if (itemId > 0)
                {
                    m_LockContainer.gameObject.SetActive(false);
                    m_Material.gameObject.SetActive(true);
                    m_MaterialCount.gameObject.SetActive(true);
                    m_Material.SetItem(itemId, 1);
                    var enough = own >= need;
                    m_MaterialCount.text = string.Format("{0}/{1}", UIHelper.AppendStringColor(enough ? TextColType.White : TextColType.Red, own.ToString(), true), need);
                }
                else
                {
                    m_LockContainer.gameObject.SetActive(true);
                    m_Material.gameObject.SetActive(false);
                    m_MaterialCount.gameObject.SetActive(false);
                }
            }
        }
        [Serializable]
        public class InevitableMaterialCell
        {
            public RectTransform m_LockContainer;
            public ItemBehaviour m_InevitableMaterial;
            public Text m_InevitableMaterialCount;
            public RectTransform m_DiamondContainer;
            public Text m_DiamondCount;
            public void Display(bool locked, int need, int own, int diamond)
            {
                if (locked)
                {
                    m_LockContainer.gameObject.SetActive(true);
                    m_InevitableMaterial.gameObject.SetActive(false);
                    m_InevitableMaterialCount.gameObject.SetActive(false);
                    m_DiamondContainer.gameObject.SetActive(false);
                }
                else
                {
                    m_LockContainer.gameObject.SetActive(false);
                    m_InevitableMaterial.gameObject.SetActive(true);
                    m_InevitableMaterialCount.gameObject.SetActive(true);
                    m_InevitableMaterial.SetItem(GeneralDefine.equipTrainMustItemId, 1);
                    var enough = own >= need;
                    m_InevitableMaterialCount.text = string.Format("{0}/{1}",
                        UIHelper.AppendStringColor(enough ? TextColType.White : TextColType.Red, own.ToString(), true), need);
                    if (diamond > 0)
                    {
                        m_DiamondContainer.gameObject.SetActive(true);
                        m_DiamondCount.text = diamond.ToString();
                    }
                    else
                    {
                        m_DiamondContainer.gameObject.SetActive(false);
                    }
                }
            }
        }
    }
}
System/KnapSack/Logic/ItemOperateUtility.cs
@@ -13,7 +13,6 @@
        PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
        ItemTipsModel itemTipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
        StrengthenModel strengthModel { get { return ModelCenter.Instance.GetModel<StrengthenModel>(); } }
        EquipWashModel equipWashModel { get { return ModelCenter.Instance.GetModel<EquipWashModel>(); } }
        BuffModel Buffmodel { get { return ModelCenter.Instance.GetModel<BuffModel>(); } }
        FairyModel fairyModel { get { return ModelCenter.Instance.GetModel<FairyModel>(); } }
        BoxGetItemModel BoxModel { get { return ModelCenter.Instance.GetModel<BoxGetItemModel>(); } }
@@ -187,20 +186,6 @@
                    if (stones[i] != 0 && item.config.LV >= gemOpenLvs[0])
                    {
                        SysNotifyMgr.Instance.ShowTip("SwitchEquip_Gem");
                        break;
                    }
                }
            }
            var washPro = equipWashModel.GetWashEquipInfo(equipPlace);
            if (washPro != null)
            {
                int i = 0;
                for (i = 0; i < washPro.XLAttrCnt; i++)
                {
                    if (washPro.proValuelist[i].XLAttrValue > 0)
                    {
                        SysNotifyMgr.Instance.ShowTip("SwitchEquip_Wash");
                        break;
                    }
                }
System/KnapSack/Logic/ItemTipsModel.cs
@@ -2529,7 +2529,6 @@
        public bool isHavePutLimit { get; private set; }
        StrengthenModel strengthengmodel { get { return ModelCenter.Instance.GetModel<StrengthenModel>(); } }
        EquipWashModel washModel { get { return ModelCenter.Instance.GetModel<EquipWashModel>(); } }
        ItemTipsModel itemTipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
        RuneModel runeModel { get { return ModelCenter.Instance.GetModel<RuneModel>(); } }
        GodBeastModel beastModel { get { return ModelCenter.Instance.GetModel<GodBeastModel>(); } }
@@ -2634,12 +2633,6 @@
                        if (p_strengInfoDict.ContainsKey(index))
                        {
                            SetStrengthData(strengthengmodel.StrengthenTheCeiling(index), strengthengmodel.GameDefineIndex(index));
                        }
                        WashProCount washPro = washModel.GetWashEquipInfo(index);
                        if (washPro != null)
                        {
                            SetWashModel(washModel.OnGetWashType(index), washPro.XLAttrLV, washModel.WashProValues(index));
                        }
                    }
System/MainInterfacePanel/LowSettingTip.cs
@@ -118,9 +118,6 @@
        void Strengthen1Button()
        {
            WindowCenter.Instance.Close<MainInterfaceWin>();
            var starModel = ModelCenter.Instance.GetModel<EquipStarModel>();
            var equipModel = ModelCenter.Instance.GetModel<EquipModel>();
            starModel.SelectLevel(equipModel.GetLastestUnLockEquipSet());
            WindowCenter.Instance.Open<EquipFrameWin>(false, 0);
        }
System/Market.meta
File was deleted
System/Message/RichTableEvent.cs
@@ -15,15 +15,6 @@
        }
    }
    EquipWashModel m_EquipWashModel;
    EquipWashModel equipWashModel
    {
        get
        {
            return m_EquipWashModel ?? (m_EquipWashModel = ModelCenter.Instance.GetModel<EquipWashModel>());
        }
    }
    public RichTableEvent()
    {
        RichTextMgr.Inst.RegisterEvent(RichTextEventEnum.TABLE, this);
@@ -522,10 +513,6 @@
            "", userdatadic);
        attrData.SetGemModel(stone);
        attrData.SetStrengthData(strengthenLv, GetStrengthenType(itemId));
        if (!_equipWash.Equals(default(RoleParticularModel.EquipWash)))
        {
            attrData.SetWashModel(equipWashModel.OnGetWashType(index), _equipWash.LV, _equipWash.Value);
        }
        itemTipsModel.SetItemTipsModel(attrData);
    }
System/RoleParticulars/RoleParticularsWin.cs
@@ -29,7 +29,6 @@
        RoleParticularModel model { get { return ModelCenter.Instance.GetModel<RoleParticularModel>(); } }
        FriendsModel friendsModel { get { return ModelCenter.Instance.GetModel<FriendsModel>(); } }
        EquipWashModel equipWashModel { get { return ModelCenter.Instance.GetModel<EquipWashModel>(); } }
        StrengthenModel strengthengmodel { get { return ModelCenter.Instance.GetModel<StrengthenModel>(); } }
        ItemTipsModel itemTipsModel { get { return ModelCenter.Instance.GetModel<ItemTipsModel>(); } }
@@ -66,11 +65,6 @@
                    "", itemData.useDataDict);
                attrData.SetStrengthData(viewPlayerData.rolePlusData.GetEquipStarLv((int)type), strengthengmodel.GameDefineIndex((int)type));
                attrData.SetGemModel(viewPlayerData.rolePlusData.GetEquipStone((int)type));
                RoleParticularModel.EquipWash? equipWash = viewPlayerData.rolePlusData.GetEquipWash((int)type);
                if (equipWash.HasValue)
                {
                    attrData.SetWashModel(equipWashModel.OnGetWashType((int)type), equipWash.Value.LV, equipWash.Value.Value);
                }
                itemTipsModel.SetItemTipsModel(attrData);
            }
        }
System/RoleParticulars/ViewFuncCell.cs
@@ -18,15 +18,6 @@
            }
        }
        EquipWashModel m_EquipWashModel;
        EquipWashModel equipWashModel
        {
            get
            {
                return m_EquipWashModel ?? (m_EquipWashModel = ModelCenter.Instance.GetModel<EquipWashModel>());
            }
        }
        TreasureModel m_TreasureModel;
        TreasureModel treasureModel
        {
@@ -164,12 +155,6 @@
                        }
                        break;
                    case FuncPowerType.Wash:
                        foreach (WashProCount wash in equipWashModel.GetWashInfoDict().Values)
                        {
                            if (wash == null)
                                continue;
                            selfValue += wash.XLAttrLV;
                        }
                        targetValue = viewPlayerData.rolePlusData.GetAllEquipWashLv();
                        break;
                    case FuncPowerType.Pet:
System/RolePromote/RolePromoteModel.cs
@@ -24,7 +24,6 @@
            PetModel.Event_H0704Add += OnRefreshPetData;
            PetModel.Event_H0704Update += OnRefreshPetData;
            petmodel.PlayerLoginOkData += OnRefreshPetData;
            equipWashModel.RefreshWashModelEvent += RefreshWashModelEvent;
            RedpointCenter.Instance.redpointValueChangeEvent += RedpointValueChangeEvent;
            ItemLogicUtility.Instance.GetBetterEquipEvent += RefreshGetBetterEquipEvent;
            MountModel.PlayerLoginOKData += PlayerLoginOKData;
@@ -56,18 +55,8 @@
        public void RefreshData()
        {
            GetWashCntDic();
            GetPetCntDic();
            GetMountCntDic();
        }
        EquipWashModel m_EquipWashModel;
        EquipWashModel equipWashModel
        {
            get
            {
                return m_EquipWashModel ?? (m_EquipWashModel = ModelCenter.Instance.GetModel<EquipWashModel>());
            }
        }
        TreasureModel m_TreasureModel;
@@ -382,43 +371,6 @@
        #endregion
        #region 洗练
        private void RefreshWashModelEvent()
        {
            GetWashCntDic();
        }
        private Dictionary<int, int> washCntDic = new Dictionary<int, int>();
        private void GetWashCntDic()
        {
            washCntDic.Clear();
            var dict = equipWashModel.GetWashInfoDict();
            if (dict == null)
            {
                return;
            }
            foreach (var wash in dict.Values)
            {
                if (!washCntDic.ContainsKey(wash.XLAttrLV))
                {
                    washCntDic.Add(wash.XLAttrLV, 1);
                }
                else
                {
                    washCntDic[wash.XLAttrLV]++;
                }
            }
        }
        public int GetWashCnt(int lv)
        {
            int val = 0;
            foreach (var key in washCntDic.Keys)
            {
                if (lv <= key)
                {
                    val += washCntDic[key];
                }
            }
            return val;
        }
        #endregion
System/Strengthening/EquipReinforceWin.cs
@@ -13,14 +13,6 @@
        private WingsRedDotModel model { get { return W_ModelRedDit ?? (W_ModelRedDit = ModelCenter.Instance.GetModel<WingsRedDotModel>()); } }
        private StrengthenModel M_Strengtheng;
        private StrengthenModel strengtheng { get { return M_Strengtheng ?? (M_Strengtheng = ModelCenter.Instance.GetModel<StrengthenModel>()); } }
        private WashTips _washTips;
        public WashTips WashTip {
            get {
                if (_washTips == null)
                    _washTips = transform.Find("CommonPanel/WashTips").GetComponent<WashTips>();
                return _washTips;
            }
        }
        private Button _closeBtn;
        private StrengtheningSripts _strengtheningPanel;
@@ -44,13 +36,6 @@
        private GameObject _InlaidGemPanel; //宝石
        private GameObject _wingsRefinePanel;
        EquipWashModel m_EquipWashModel;
        EquipWashModel equipWashModel {
            get {
                return m_EquipWashModel ?? (m_EquipWashModel = ModelCenter.Instance.GetModel<EquipWashModel>());
            }
        }
        GemModel m_gemModel;
        GemModel gemModel {
@@ -96,7 +81,6 @@
        {
            StrengthenPnl.gameObject.SetActive(false);
            _InlaidGemPanel.gameObject.SetActive(false);
            WashTip.gameObject.SetActive(false);
            _wingsRefinePanel.SetActive(false);
            if (!WindowJumpMgr.Instance.IsJumpState)
@@ -171,33 +155,28 @@
            }
            _InlaidGemPanel.gameObject.SetActive(false);
            WashTip.gameObject.SetActive(true);
            _wingsRefinePanel.SetActive(false);
            functionOrder = _washTitle.order;
        }
        private void OnClickEquipSuit()
        {
            equipWashModel.SetCurWashModel(0);
            if (StrengthenPnl.gameObject.activeSelf)
            {
                StrengthenPnl.gameObject.SetActive(false);
            }
            _InlaidGemPanel.gameObject.SetActive(false);
            WashTip.gameObject.SetActive(false);
            _wingsRefinePanel.SetActive(false);
            functionOrder = _equipSuitTitle.order;
        }
        private void OnClickWingsRefine()
        {
            equipWashModel.SetCurWashModel(0);
            if (StrengthenPnl.gameObject.activeSelf)
            {
                StrengthenPnl.gameObject.SetActive(false);
            }
            _InlaidGemPanel.gameObject.SetActive(false);
            WashTip.gameObject.SetActive(false);
            _wingsRefinePanel.SetActive(true);
            model.redPointStre.state = RedPointState.None;
            functionOrder = _wingsRefineTitle.order;
@@ -205,23 +184,19 @@
        private void OnClickInlayTitle()
        {
            equipWashModel.SetCurWashModel(0);
            if (StrengthenPnl.gameObject.activeSelf)
            {
                StrengthenPnl.gameObject.SetActive(false);
            }
            _InlaidGemPanel.gameObject.SetActive(true);
            WashTip.gameObject.SetActive(false);
            _wingsRefinePanel.SetActive(false);
            functionOrder = _inlayTitle.order;
        }
        private void OnClickStrengthTitle()
        {
            equipWashModel.SetCurWashModel(0);
            StrengthenPnl.gameObject.SetActive(true);
            _InlaidGemPanel.gameObject.SetActive(false);
            WashTip.gameObject.SetActive(false);
            _wingsRefinePanel.SetActive(false);
            functionOrder = _strengthTitle.order;
        }
System/Strengthening/EquipWashCell.cs
File was deleted
System/Strengthening/EquipWashCell.cs.meta
File was deleted
System/Strengthening/EquipWashModel.cs
File was deleted
System/Strengthening/EquipWashModel.cs.meta
File was deleted
System/Strengthening/WashMasterActiveWin.cs
File was deleted
System/Strengthening/WashMasterActiveWin.cs.meta
File was deleted
System/Strengthening/WashMasterCell.cs
File was deleted
System/Strengthening/WashMasterWin.cs
File was deleted
System/Strengthening/WashMasterWin.cs.meta
File was deleted
System/Strengthening/WashPro.cs
File was deleted
System/Strengthening/WashPro.cs.meta
File was deleted
System/Strengthening/WashProModel.cs
File was deleted
System/Strengthening/WashProModel.cs.meta
File was deleted
System/Strengthening/WashTips.cs
File was deleted
System/Strengthening/WashTips.cs.meta
File was deleted
System/WindowBase/ModelCenter.cs
@@ -107,10 +107,8 @@
            RegisterModel<GemModel>();
            RegisterModel<TreasureModel>();
            RegisterModel<DailyQuestModel>();
            RegisterModel<WashProModel>();
            RegisterModel<FairyLeagueModel>();
            RegisterModel<LoginModel>();
            RegisterModel<EquipWashModel>();
            RegisterModel<HeavenBattleModel>();
            RegisterModel<WingsRedDotModel>();
            RegisterModel<TeamModel>();
@@ -234,6 +232,7 @@
            RegisterModel<AuctionInquiryModel>();
            RegisterModel<AllianceBossModel>();
            RegisterModel<AuctionHelpModel>();
            RegisterModel<EquipTrainModel>();
            inited = true;
        }
UI/Core/ToggleButton.cs
@@ -78,6 +78,14 @@
        }
    }
    public void SetListener(UnityAction action )
    {
        if (button != null)
        {
            button.SetListener(action);
        }
    }
    public void AddListener(UnityAction _action)
    {
        if (button != null)
Utility/ConfigInitiator.cs
@@ -283,6 +283,7 @@
        normalTasks.Add(new ConfigInitTask("EquipControlConfig", () => { EquipControlConfig.Init(); }, () => { return EquipControlConfig.inited; }));
        normalTasks.Add(new ConfigInitTask("EquipSuitConfig", () => { EquipSuitConfig.Init(); }, () => { return EquipSuitConfig.inited; }));
        normalTasks.Add(new ConfigInitTask("EquipStarConfig", () => { EquipStarConfig.Init(); }, () => { return EquipStarConfig.inited; }));
        normalTasks.Add(new ConfigInitTask("WashLevelMaxConfig", () => { WashLevelMaxConfig.Init(); }, () => { return WashLevelMaxConfig.inited; }));
    }
    static List<ConfigInitTask> doingTasks = new List<ConfigInitTask>();