package game

import "gitlab.univ-nantes.fr/jezequel-l/quadtree/configuration"

// Init initialise les données d'un jeu. Il faut bien
// faire attention à l'ordre des initialisation car elles
// pourraient dépendre les unes des autres.
func (g *Game) Init() {
	g.floor.Init()

	camX, camY := 0, 0
	if configuration.Global.FloorKind == 1 {
		camX, camY = g.floor.GetWidth(), g.floor.GetHeight()
	}
	if configuration.Global.FloorKind == 2 {
		camX, camY = g.floor.QuadtreeContent.GetWidth(), g.floor.QuadtreeContent.GetHeight()
	}

	if configuration.Global.Extension5 {
		tempoX, tempoY := g.floor.SpawnOnWater(camX/2, camY/2)
		if tempoX != -1 {
			camX = tempoX * 2
		}
		if tempoY != -1 {
			camY = tempoY * 2
		}
	}

	g.character.Init(camX, camY)
	g.camera.Init(g.character.X, g.character.Y)
}
