package RTDB
using RoachRace

RoachRaceLevelList
{
	fk< RoachRaceLevel >[] data = 
	[
		"RoachRace.KaerMorhen", "RoachRace.Novigrad", "RoachRace.FlotsamForest", "RoachRace.Skellige", "RoachRace.IsleOfMists"
	];
}

RoachRaceLevel
{
	ResRef[] preLoadedResourceList = [];
	fk< RoachRaceBackground > background = "";
	fk< RoachRaceObstacleTexturePartPair >[] obstacleTexturePartMap = [];
	fk< RoachRaceObstacle >[] obstacleList = [];
	float duration = 0.f;
}

RoachRaceBackground
{
	CName startSFX = "";
	CName stopSFX = "";
	fk< ArcadeBackgroundLayer >[] layerList = [];
	bool isSunAndMoonVisible = true;
	fk< RoachRaceBackgroundObject >[] objectList = [];
}

RoachRaceBackgroundObject : ArcadeObject
{
	float position = 0.f;
	float probability = 0.f;
}

RoachRaceObject : ArcadeObject
{
	float position = 0.f;
	float[] positionRange = 
	[
		0.f, 0.f
	];
	bool usingPositionRange = false;
	Vector2 boundingRectangleRelativeArea = ( 1.0f, 1.0f );
	float score = 1.f;
	float probability = 0.f;
	CName spawnSFX = "";
}

RoachRaceObstacle : RoachRaceObject
{
	fk< RoachRaceMovement > movement = "RoachRace.StraightLineMovementType";
	Vector2 velocity = ( 0.f, 0.f );
	bool usingVelocityMultiplierRange = false;
	Vector2[] velocityMultiplierRange = 
	[
		( 1.f, 1.f ), ( 1.f, 1.f )
	];
}

RoachRaceObstacleTexturePartPair
{
	CName name = "";
	CName imageTexturePart = "";
}

RoachRaceMovement
{
	CName name = "";
	float value = 0.f;
	bool usingRange = false;
	float[] range = 
	[
		0.f, 0.f
	];
}

RoachRacePowerUpList
{
	fk< RoachRaceObject >[] data = 
	[
		"RoachRace.Apple", "RoachRace.Carrot"
	];
}

