package com.isartdigital.ui.popin;
import com.isartdigital.game.GameManager;
import com.isartdigital.game.LevelManager;
import com.isartdigital.utils.Config;
import com.isartdigital.utils.events.MouseEventType;
import com.isartdigital.utils.sounds.SoundManager;
import com.isartdigital.utils.ui.Popin;
import pixi.core.sprites.Sprite;
import pixi.core.textures.Texture;
import pixi.interaction.EventTarget;

	
/**
 * ...
 * @author Nathan
 */
class Annonce extends Popin
{
	
	private var background:Sprite;
	
	private var obj_1:Sprite;
	private var obj_2:Sprite;
	private var obj_3:Sprite;
	
	private static inline var _PNG:String = ".png";
	
	/**
	 * instance unique de la classe Annonce
	 */
	private static var instance: Annonce;
	
	/**
	 * Retourne l'instance unique de la classe, et la crée si elle n'existait pas au préalable
	 * @return instance unique
	 */
	public static function getInstance (): Annonce {
		if (instance == null) instance = new Annonce();
		return instance;
	}
	
	/**
	 * constructeur privé pour éviter qu'une instance soit créée directement
	 */
	private function new() 
	{
		super();
		background = new Sprite(Texture.fromImage(Config.assetsPath+"Popin_Annonce.png"));
		background.anchor.set(0.5, 0.5);
		addChild(background);
		
		trace(LevelManager.getInstance().toPickObjects);
		
		obj_1 = new Sprite(Texture.fromImage(Config.assetsPath + LevelManager.getInstance().toPickObjects[0] + _PNG));
		obj_2 = new Sprite(Texture.fromImage(Config.assetsPath +LevelManager.getInstance().toPickObjects[1] + _PNG)); 
		obj_3 = new Sprite(Texture.fromImage(Config.assetsPath +LevelManager.getInstance().toPickObjects[2] + _PNG)); 
		
		obj_1.anchor.set(0.5, 0.25);
		obj_2.anchor.set(0.5, 0.25);
		obj_3.anchor.set(0.5, 0.25);
		
		obj_1.scale.set(0.5, 0.5);
		obj_2.scale.set(0.5, 0.5);
		obj_3.scale.set(0.5, 0.5);
		
		addChild(obj_1);
		addChild(obj_2);
		addChild(obj_3);
		
		obj_1.position.set(- width /7, 0);
		obj_2.position.set(0, 0);
		obj_3.position.set(width / 7, 0);
		
		interactive = true;
		buttonMode = true;
		
		once(MouseEventType.CLICK,onClick);
	}
	
	private function onClick (pEvent:EventTarget): Void {
		SoundManager.getSound("Ronronnement1").play();
		SoundManager.getSound("MenuLoop").pause();
		UIManager.getInstance().closeCurrentPopin();
		GameManager.getInstance().start();
	}
	
	/**
	 * détruit l'instance unique et met sa référence interne à null
	 */
	override public function destroy (): Void {
		instance = null;
		super.destroy();
	}

}