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

        try
        {
            BattleRoomPlayerHeroSetup battleRoomPlayerHeroSetup = (BattleRoomPlayerHeroSetup)LuaObject.checkSelf(l);
            int playerIdx;
            LuaObject.checkType(l, 2, out playerIdx);
            int heroPos;
            LuaObject.checkType(l, 3, out heroPos);
            int heroPos2;
            LuaObject.checkType(l, 4, out heroPos2);
            bool checkPos2HeroExist;
            LuaObject.checkType(l, 5, out checkPos2HeroExist);
            bool b = battleRoomPlayerHeroSetup.SwapHeros(playerIdx, heroPos, heroPos2, checkPos2HeroExist);
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, b);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int SetHero(IntPtr l)
    {
        int result;

        try
        {
            BattleRoomPlayerHeroSetup battleRoomPlayerHeroSetup = (BattleRoomPlayerHeroSetup)LuaObject.checkSelf(l);
            int playerIdx;
            LuaObject.checkType(l, 2, out playerIdx);
            int heroPos;
            LuaObject.checkType(l, 3, out heroPos);
            BattleHero hero;
            LuaObject.checkType <BattleHero>(l, 4, out hero);
            bool checkHeroDup;
            LuaObject.checkType(l, 5, out checkHeroDup);
            bool b = battleRoomPlayerHeroSetup.SetHero(playerIdx, heroPos, hero, checkHeroDup);
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, b);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int Clear(IntPtr l)
    {
        int result;

        try
        {
            BattleRoomPlayerHeroSetup battleRoomPlayerHeroSetup = (BattleRoomPlayerHeroSetup)LuaObject.checkSelf(l);
            battleRoomPlayerHeroSetup.Clear();
            LuaObject.pushValue(l, true);
            result = 1;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int constructor(IntPtr l)
    {
        int result;

        try
        {
            BattleRoomPlayerHeroSetup o = new BattleRoomPlayerHeroSetup();
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, o);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int GetBattleHeroSetupInfos(IntPtr l)
    {
        int result;

        try
        {
            BattleRoomPlayerHeroSetup  battleRoomPlayerHeroSetup = (BattleRoomPlayerHeroSetup)LuaObject.checkSelf(l);
            List <BattleHeroSetupInfo> battleHeroSetupInfos      = battleRoomPlayerHeroSetup.GetBattleHeroSetupInfos();
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, battleHeroSetupInfos);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int GetCount(IntPtr l)
    {
        int result;

        try
        {
            BattleRoomPlayerHeroSetup battleRoomPlayerHeroSetup = (BattleRoomPlayerHeroSetup)LuaObject.checkSelf(l);
            int count = battleRoomPlayerHeroSetup.GetCount();
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, count);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int GetHeroPositionCountByPlayerIndex(IntPtr l)
    {
        int result;

        try
        {
            BattleRoomPlayerHeroSetup battleRoomPlayerHeroSetup = (BattleRoomPlayerHeroSetup)LuaObject.checkSelf(l);
            int playerIdx;
            LuaObject.checkType(l, 2, out playerIdx);
            int heroPositionCountByPlayerIndex = battleRoomPlayerHeroSetup.GetHeroPositionCountByPlayerIndex(playerIdx);
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, heroPositionCountByPlayerIndex);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int GetBattleHeroSetupInfo(IntPtr l)
    {
        int result;

        try
        {
            BattleRoomPlayerHeroSetup battleRoomPlayerHeroSetup = (BattleRoomPlayerHeroSetup)LuaObject.checkSelf(l);
            int heroPos;
            LuaObject.checkType(l, 2, out heroPos);
            BattleHeroSetupInfo battleHeroSetupInfo = battleRoomPlayerHeroSetup.GetBattleHeroSetupInfo(heroPos);
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, battleHeroSetupInfo);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int InitPVPBattle(IntPtr l)
    {
        int result;

        try
        {
            BattleRoomPlayerHeroSetup battleRoomPlayerHeroSetup = (BattleRoomPlayerHeroSetup)LuaObject.checkSelf(l);
            int heroPosCount;
            LuaObject.checkType(l, 2, out heroPosCount);
            int heroPosCount2;
            LuaObject.checkType(l, 3, out heroPosCount2);
            bool b = battleRoomPlayerHeroSetup.InitPVPBattle(heroPosCount, heroPosCount2);
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, b);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int PVPTeamPositionToRoomPosition(IntPtr l)
    {
        int result;

        try
        {
            BattleRoomPlayerHeroSetup battleRoomPlayerHeroSetup = (BattleRoomPlayerHeroSetup)LuaObject.checkSelf(l);
            int playerIndex;
            LuaObject.checkType(l, 2, out playerIndex);
            int heroPos;
            LuaObject.checkType(l, 3, out heroPos);
            int i = battleRoomPlayerHeroSetup.PVPTeamPositionToRoomPosition(playerIndex, heroPos);
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, i);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }
    public static int MarkSetupHeroFlag(IntPtr l)
    {
        int result;

        try
        {
            BattleRoomPlayerHeroSetup battleRoomPlayerHeroSetup = (BattleRoomPlayerHeroSetup)LuaObject.checkSelf(l);
            int playerIdx;
            LuaObject.checkType(l, 2, out playerIdx);
            int heroPos;
            LuaObject.checkType(l, 3, out heroPos);
            SetupBattleHeroFlag flag;
            LuaObject.checkEnum <SetupBattleHeroFlag>(l, 4, out flag);
            bool b = battleRoomPlayerHeroSetup.MarkSetupHeroFlag(playerIdx, heroPos, flag);
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, b);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }