Class BonusStagesConfig

java.lang.Object
com.prineside.tdi2.gameplayMods.BonusStagesConfig
All Implemented Interfaces:
com.esotericsoftware.kryo.KryoSerializable

public class BonusStagesConfig extends Object implements com.esotericsoftware.kryo.KryoSerializable
  • Field Details

    • SEED_RANDOM

      public static final int SEED_RANDOM
      See Also:
    • SEED_TAKE_FROM_LEVEL

      public static final int SEED_TAKE_FROM_LEVEL
      See Also:
    • SEED_TAKE_FROM_DAILY_QUEST

      public static final int SEED_TAKE_FROM_DAILY_QUEST
      See Also:
    • DEFAULT_CONFIG_FILE_PATH

      public static final String DEFAULT_CONFIG_FILE_PATH
      See Also:
    • DEFAULT_BONUS_PROVIDERS

      public static final ProbableBonusesProvider[] DEFAULT_BONUS_PROVIDERS
    • reRollEnabled

      public boolean reRollEnabled
    • forceImmediateSelection

      public boolean forceImmediateSelection
    • maxReRollsPerStage

      public int maxReRollsPerStage
    • reRollPrice

      public float reRollPrice
    • reRollMinPrice

      public float reRollMinPrice
    • reRollMaxPrice

      public float reRollMaxPrice
    • reRollPricePerStage

      public float reRollPricePerStage
    • immediateBonusesChance

      public float immediateBonusesChance
    • persistentBonusesChance

      public float persistentBonusesChance
    • activeBonusesSlotLimit

      public int activeBonusesSlotLimit
    • chainReRoll

      public boolean chainReRoll
    • selectedBonusAffectsRandom

      public boolean selectedBonusAffectsRandom
    • stageRequirements

      public com.badlogic.gdx.utils.IntArray stageRequirements
    • endlessStageRequirement

      public int endlessStageRequirement
    • endlessStageRequirementPerStage

      public int endlessStageRequirementPerStage
    • seed

      public int seed
    • isFillWithDefaultBonusProviders

      public boolean isFillWithDefaultBonusProviders
    • bonusProviderListClassNames

      public com.badlogic.gdx.utils.Array<String> bonusProviderListClassNames
    • probableBonusesProviders

      public com.badlogic.gdx.utils.Array<ProbableBonusesProvider> probableBonusesProviders
    • bonusesConfig

      public com.badlogic.gdx.utils.JsonValue bonusesConfig
  • Constructor Details

    • BonusStagesConfig

      public BonusStagesConfig()
  • Method Details

    • write

      public void write(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Output output)
      Specified by:
      write in interface com.esotericsoftware.kryo.KryoSerializable
    • read

      public void read(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Input input)
      Specified by:
      read in interface com.esotericsoftware.kryo.KryoSerializable
    • cpy

      public BonusStagesConfig cpy()
    • fromJson

      public static BonusStagesConfig fromJson(String jsonStr)
    • fromJson

      public static BonusStagesConfig fromJson(com.badlogic.gdx.utils.JsonValue json)
    • toJson

      public void toJson(com.badlogic.gdx.utils.Json json)
    • fillWithDefaultBonusProviders

      public void fillWithDefaultBonusProviders()
    • setBonusesConfig

      public void setBonusesConfig(com.badlogic.gdx.utils.JsonValue json)
      Will overwrite existing parameters
    • getProbableBonuses

      public com.badlogic.gdx.utils.DelayedRemovalArray<BonusProbability> getProbableBonuses(int stageNumber, GameSystemProvider S)
      Returns:
      array of preconfigured game mods. Will be used later by BonusSystem with its random generator
    • getBonusConfig

      public com.badlogic.gdx.utils.JsonValue getBonusConfig(String key)
      Returns:
      root object of bonus's config or empty JSON object if not exists
    • getStageRequirement

      public int getStageRequirement(int stageNumber)
      Parameters:
      stageNumber - 1+
      Returns:
      requirement for the specific stage (for example, number of enemies to kill)
    • getMaxStages

      public int getMaxStages()
      Returns:
      max number of bonus stages or <= 0 if infinite
    • getReRollPrice

      public int getReRollPrice(int stage, GameSystemProvider S)
      Get a price of re-roll of bonuses based on a fixed value or BonusSystem.getCurrentStageGameStatistics()
      Parameters:
      stage - bonus stage
      Returns:
      amount of coins
    • getMaxReRollsPerStage

      public int getMaxReRollsPerStage()
      Returns:
      <= 0 for unlimited