Config attributes
Files
Level Info
Tags
Level info<level>
Level info represents a single level in the game.
Example configurations:
<level id="0" type="PHASES">
    <phase type="ALL_KILLED">
        <moon lengthRange="2-3" startAt="0.2" delay="0" quantity="2"/>
        <asteroid lengthRange="2-3" startAt="0.5" delay="3" quantity="3" ttr="5"/>
    </phase>
    <phase type="ALL_KILLED">
        <moon lengthRange="2-3" startAt="0.2" delay="0" quantity="3"/>
        <moon lengthRange="2-3" startAt="0.5" delay="3" quantity="3"/>
    </phase>
</level>
Attributes:
id: unique id  for the level.
type: This shows the level progression.We get to know it from  the Type enum in LevelInfo, with options PHASES and AI_ENDLESS.
Defines types of levels:
AI_ENDLESS: A mode where gameplay continues indefinitely.
PHASES: A mode divided into phases, each with specific spawn events and end conditions.
Example
<level id="0" type="PHASES">
  <!-- phase config goes here -->
</level>
Phase<phase>
phase defines a phase in the level where certain conditions are there asteroids aspawning is set like from where enemy should come , at what speed , quantity etc.
Attributes:
- 
type: defines how the phase should end 
possible values:
:nameBOSS_KILLEDName Ends when the boss is defeated.
ALL_KILLED: Ends when all enemies are defeated.
TIME: Ends after a set time.
- 
duration: forourTIMEphase,type,fordefineseg.how"warmup"longorthe"barrage".phase should run 
Spawn<moon>
Specifies the spawning of our asteroid.moon..
Attributes:
lengthRange: size range for asteroid, e.g., "2-3"
delay: Delay before the spawn .
quantity: Number of asteroids to spawn. (optional) if not defined, infinite astroids spawns
ttr: Time to reach, representing how long the spawn should stay active.
startAt: value (0 to 1) determining when the spawn should start.
stopAt:  value (0 to 1) determining when the spawn should stop.
boss: Specifies if the spawn is a boss enemy (true for boss, false if no boss).
EndCondition<asteroid>
Determinessame whenattributes aas phasemoon endswith basedaddition onof specific conditions.
Attributes:
type:The condition type for ending the phase.    it includes:
BOSS_KILLED: Ends when the boss is defeated.
ALL_KILLED: Ends when all enemies are defeated.
TIME: Ends after a set time.following:
: delayttrtimeTime delayto beforereach, representing how long the phase ends after the end condition is met.
Type Enum (Enum in LevelInfo):
Defines types of levels:
AI_ENDLESS: A mode where gameplay continues indefinitely.
PHASES: A mode divided into phases, each with specific spawn eventsshould andstay end conditions.active.
Example configurations:
<level id="0" type="PHASES">
    <phase name="barrage">
        <spawn lengthRange="2-3" delay="1" quantity="5" ttr="5" stopAt="0.5"/>
        <spawn lengthRange="4-6" delay="2" quantity="2" />
        <endCondition type="ALL_KILLED">
    </phase>
    <phase name="survive">
        <spawn lengthRange="2-9" delay="2" />
        <endCondition type="TIME" delay="20">
    </phase>
    <phase name="boss">
        <spawn lengthRange="10-15" delay="0" boss="true" quantity="1"/>
        <spawn lengthRange="2-3" delay="3" />
        <endCondition type="BOSS_KILLED">
    </phase>
</level>
Planet Info
Planet.xml Attributes
id: The unique identifier for the planet. This is an integer that tells about each planet.
starsNeeded: The number of stars required to unlock this planet.
name: The name of the planet, defines what the planet is called in the game.
levelRange: The range of levels associated with this planet. For example, levelRange="0-1" means this planet includes levels 0 and 1
Example:
<planet id="0" starsNeeded="30" name="Mathilde" levelRange="0-1" />  
<planet id="1" starsNeeded="30" name="Mathilde" levelRange="2-3" />  
<planet id="2" starsNeeded="30" name="Mathilde" levelRange="4-5" />  
<planet id="3" starsNeeded="30" name="Mathilde" levelRange="6" />  
Planet_info.gd Attributes:
id: Stores the planet’s unique id, matching the id attribute in the XML.
starsNeeded: Stores the minimum stars required to unlock the planet. Loaded from the starsNeeded attribute in the XML.
name_: Stores the name of the planet, which is used to display in the game. Loaded from the name attribute.
levelRange: Stores the range of levels associated with the planet. This is parsed from the levelRange attribute in the XML.