// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3) 
// Source File Name:   NetGameSettingsTeam.java


public class NetGameSettingsTeam extends NetGameSettings
{

    void CopyDataToContainer()
    {
        super.CopyDataToContainer();
        super.m_cContainer.PackBoolean(GetTeamBalance());
        super.m_cContainer.PackBoolean(GetFriendlyFire());
        super.m_cContainer.PackBoolean(GetFriendsVisibleOnHudMap());
        super.m_cContainer.PackInt(GetMinTeamsToStartGame());
    }

    void SetFriendlyFireMul(float fMul)
    {
        m_fFriendlyFireMul = fMul;
    }

    NetGameSettingsTeam()
    {
        _TEAM_BALANCE = false;
        _FRIENDLY_FIRE = true;
        _FRIENDLY_FIRE_MUL = 0.25F;
        _FRIENDS_VISIBLE_ON_HUD_MAP = true;
        _MIN_TEAMS_TO_START_GAME = 1;
        m_bTeamBalance = false;
        m_bFriendlyFire = false;
        m_fFriendlyFireMul = 0.1F;
        m_nMinTeamsToStartGame = 1;
        m_bFriendsVisibleOnHudMap = true;
    }

    boolean GetFriendlyFire()
    {
        return m_bFriendlyFire;
    }

    void SaveSettings()
    {
        super.SaveSettings();
        super.m_cScriptWriter.Write("TeamBalance(" + Bool2String(m_bTeamBalance) + ")");
        super.m_cScriptWriter.Write("FriendlyFire(" + Bool2String(m_bFriendlyFire) + ")");
        super.m_cScriptWriter.Write("FriendsVisibleOnHudMap(" + Bool2String(m_bFriendsVisibleOnHudMap) + ")");
        super.m_cScriptWriter.Write("MinTeamsToStartGame(" + m_nMinTeamsToStartGame + ")");
    }

    int GetMinTeamsToStartGame()
    {
        return m_nMinTeamsToStartGame;
    }

    void SetTeamBalance(boolean bBalance)
    {
        m_bTeamBalance = bBalance;
    }

    void SetFriendsVisibleOnHudMap(boolean bVisible)
    {
        m_bFriendsVisibleOnHudMap = bVisible;
    }

    float GetFriendlyFireMul()
    {
        return m_fFriendlyFireMul;
    }

    void ASEQuery_OnWantRules(ModuleNetBaseQuery cLevel)
    {
        super.ASEQuery_OnWantRules(cLevel);
        cLevel.ASEQuery_AddRule("Team Balance", NetGameTools.Bool2OnOff(GetTeamBalance()));
        cLevel.ASEQuery_AddRule("Friendly Fire", NetGameTools.Bool2OnOff(GetFriendlyFire()));
        cLevel.ASEQuery_AddRule("Friends Visible On Map", NetGameTools.Bool2YesNo(GetFriendsVisibleOnHudMap()));
    }

    boolean GetTeamBalance()
    {
        return m_bTeamBalance;
    }

    boolean ApplyModifier(ModifierNetGameSettings cModifier)
    {
        boolean bOk = true;
        switch(cModifier.GetId())
        {
        case 20: // '\024'
            SetTeamBalance(cModifier.GetBooleanParam());
            break;

        case 21: // '\025'
            SetFriendlyFire(cModifier.GetBooleanParam());
            break;

        case 31: // '\037'
            SetFriendsVisibleOnHudMap(cModifier.GetBooleanParam());
            break;

        case 23: // '\027'
            SetMinTeamsToStartGame(cModifier.GetIntParam());
            break;

        case 22: // '\026'
            SetFriendlyFireMul(cModifier.GetFloatParam());
            break;

        default:
            bOk = super.ApplyModifier(cModifier);
            break;
        }
        return bOk;
    }

    void CopyDataFromContainer()
    {
        super.CopyDataFromContainer();
        SetTeamBalance(super.m_cContainer.UnPackBoolean());
        SetFriendlyFire(super.m_cContainer.UnPackBoolean());
        SetFriendsVisibleOnHudMap(super.m_cContainer.UnPackBoolean());
        SetMinTeamsToStartGame(super.m_cContainer.UnPackInt());
    }

    boolean GetFriendsVisibleOnHudMap()
    {
        return m_bFriendsVisibleOnHudMap;
    }

    void Init()
    {
        super.Init();
        SetTeamBalance(_TEAM_BALANCE);
        SetFriendlyFire(_FRIENDLY_FIRE);
        SetFriendlyFireMul(_FRIENDLY_FIRE_MUL);
        SetMinTeamsToStartGame(_MIN_TEAMS_TO_START_GAME);
        SetFriendsVisibleOnHudMap(_FRIENDS_VISIBLE_ON_HUD_MAP);
    }

    void SetFriendlyFire(boolean bFriendlyFire)
    {
        m_bFriendlyFire = bFriendlyFire;
    }

    void SetMinTeamsToStartGame(int nMin)
    {
        m_nMinTeamsToStartGame = nMin;
    }

    boolean _TEAM_BALANCE;
    boolean _FRIENDLY_FIRE;
    float _FRIENDLY_FIRE_MUL;
    boolean _FRIENDS_VISIBLE_ON_HUD_MAP;
    int _MIN_TEAMS_TO_START_GAME;
    private boolean m_bTeamBalance;
    private boolean m_bFriendlyFire;
    private float m_fFriendlyFireMul;
    private int m_nMinTeamsToStartGame;
    private boolean m_bFriendsVisibleOnHudMap;
}
