public static int ComputeSoldierCommandProperties(IntPtr l)
    {
        int result;

        try
        {
            int num = LuaDLL.lua_gettop(l);
            if (num == 3)
            {
                HeroPropertyComputer heroPropertyComputer = (HeroPropertyComputer)LuaObject.checkSelf(l);
                Hero hero;
                LuaObject.checkType <Hero>(l, 2, out hero);
                ConfigDataSoldierInfo soldierInfo;
                LuaObject.checkType <ConfigDataSoldierInfo>(l, 3, out soldierInfo);
                heroPropertyComputer.ComputeSoldierCommandProperties(hero, soldierInfo);
                LuaObject.pushValue(l, true);
                result = 1;
            }
            else if (num == 5)
            {
                HeroPropertyComputer heroPropertyComputer2 = (HeroPropertyComputer)LuaObject.checkSelf(l);
                BattleHero           hero2;
                LuaObject.checkType <BattleHero>(l, 2, out hero2);
                ConfigDataSoldierInfo soldierInfo2;
                LuaObject.checkType <ConfigDataSoldierInfo>(l, 3, out soldierInfo2);
                List <TrainingTech> techs;
                LuaObject.checkType <List <TrainingTech> >(l, 4, out techs);
                ConfigDataModelSkinResourceInfo soldierSkinResInfo;
                LuaObject.checkType <ConfigDataModelSkinResourceInfo>(l, 5, out soldierSkinResInfo);
                heroPropertyComputer2.ComputeSoldierCommandProperties(hero2, soldierInfo2, techs, soldierSkinResInfo);
                LuaObject.pushValue(l, true);
                result = 1;
            }
            else
            {
                LuaObject.pushValue(l, false);
                LuaDLL.lua_pushstring(l, "No matched override function ComputeSoldierCommandProperties to call");
                result = 2;
            }
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
        // Token: 0x0600D7A2 RID: 55202 RVA: 0x003AAEC4 File Offset: 0x003A90C4
        public void InitSoldierDesc(ConfigDataSoldierInfo soldierInfo, BattleHero hero, List <TrainingTech> techs, ConfigDataModelSkinResourceInfo soldierSkinResInfo)
        {
            if (!BJLuaObjHelper.IsSkipLuaHotfix && this.TryInitHotFix("") && this.m_InitSoldierDescConfigDataSoldierInfoBattleHeroList ` 1ConfigDataModelSkinResourceInfo_hotfix != null)
            {
                this.m_InitSoldierDescConfigDataSoldierInfoBattleHeroList ` 1ConfigDataModelSkinResourceInfo_hotfix.call(new object[]
                {
                    this,
                    soldierInfo,
                    hero,
                    techs,
                    soldierSkinResInfo
                });
                return;
            }
            BJLuaObjHelper.IsSkipLuaHotfix = false;
            if (soldierInfo == null || hero == null)
            {
                return;
            }
            IConfigDataLoader    configDataLoader     = GameManager.Instance.ConfigDataLoader as IConfigDataLoader;
            HeroPropertyComputer heroPropertyComputer = new HeroPropertyComputer();

            heroPropertyComputer.Init(configDataLoader);
            heroPropertyComputer.ComputeSoldierCommandProperties(hero, soldierInfo, techs, soldierSkinResInfo);
            this.ShowPanel();
            string text = string.Empty;

            if (soldierSkinResInfo != null)
            {
                text = soldierSkinResInfo.Model;
            }
            if (string.IsNullOrEmpty(text))
            {
                text = soldierInfo.Model;
            }
            this.SetSoldierDetailPanel(soldierInfo, heroPropertyComputer, text);
        }