// This file is generated by kconfig_compiler_kf6 from kspaceduel.kcfg.
// All changes you do to this file will be lost.
#ifndef OPTIONS_H
#define OPTIONS_H

#include <kconfigskeleton.h>
#include <QCoreApplication>
#include <QDebug>

class Options : public KConfigSkeleton
{
  public:
    class EnumAiDifficulty
    {
      public:
      enum type { Trainee, Normal, Hard, Insane, COUNT };
    };

    static Options *self();
    ~Options() override;

    /**
      Get timeAfterKill
    */
    static
    double timeAfterKill()
    {
      return self()->mTimeAfterKill;
    }

    /**
      Is timeAfterKill Immutable
    */
    static
    bool isTimeAfterKillImmutable()
    {
      return self()->isImmutable( QStringLiteral( "TimeAfterKill" ) );
    }

    /**
      Get startHitPointsP$(Player)
    */
    static
    int startHitPoints( int i )
    {
      return self()->mStartHitPoints[i];
    }

    /**
      Is startHitPointsP$(Player) Immutable
    */
    static
    bool isStartHitPointsImmutable( int i )
    {
      return self()->isImmutable( QStringLiteral( "StartHitPoints%1" ).arg( i ) );
    }

    /**
      Get player$(Player)IsAi
    */
    static
    bool playerIsAi( int i )
    {
      return self()->mPlayerIsAi[i];
    }

    /**
      Is player$(Player)IsAi Immutable
    */
    static
    bool isPlayerIsAiImmutable( int i )
    {
      return self()->isImmutable( QStringLiteral( "Player%1IsAi" ).arg( i ) );
    }

    /**
      Get ai$(Player)Difficulty
    */
    static
    int aiDifficulty( int i )
    {
      return self()->mAiDifficulty[i];
    }

    /**
      Is ai$(Player)Difficulty Immutable
    */
    static
    bool isAiDifficultyImmutable( int i )
    {
      return self()->isImmutable( QStringLiteral( "AiDifficulty%1" ).arg( i ) );
    }

    /**
      Set lastConfig
    */
    static
    void setLastConfig( int v )
    {
      if (!self()->isLastConfigImmutable())
        self()->mLastConfig = v;
    }

    /**
      Get lastConfig
    */
    static
    int lastConfig()
    {
      return self()->mLastConfig;
    }

    /**
      Is lastConfig Immutable
    */
    static
    bool isLastConfigImmutable()
    {
      return self()->isImmutable( QStringLiteral( "LastConfig" ) );
    }

    /**
      Get refreshTime
    */
    static
    int refreshTime()
    {
      return self()->mRefreshTime;
    }

    /**
      Is refreshTime Immutable
    */
    static
    bool isRefreshTimeImmutable()
    {
      return self()->isImmutable( QStringLiteral( "RefreshTime" ) );
    }

  protected:
    Options();
    friend class OptionsHelper;


    // Game
    double mTimeAfterKill;
    int mStartHitPoints[2];
    bool mPlayerIsAi[2];
    int mAiDifficulty[2];
    int mLastConfig;
    int mRefreshTime;
};

#endif

