//================================================================================================================
MenuEditorSystem::MenuEditorSystem(Environment2D* env2D)
: m_Env2D(env2D)
{
	m_mainGameDirectory = m_Env2D->GetGD2D();
	m_D3DSystem = m_Env2D->GetD3DSystem();
	m_EngineOptions = m_Env2D->GetEngineOptions();

	m_ClickDelayTimer = new SleepTimer();
	m_SelectionTimer = new SleepTimer();
	
	m_SelectedButtonImageName = "";

	m_displaySpriteCover = 0;
	
	// Set defaults
	SwitchToEditTypeNone();

	usingGrid = false;
	gridSizeX = 32;
	gridSizeY = 32;

	m_leftButtonDown = false;

	mousePosText.SetD3D(m_D3DSystem);
	mousePosText.Initialize();
	mousePosText.CreateShadow();
	mousePosText.ChangeFont(L"Times New Roman", 24.0f, FontStyle::BoldItalic, true);
	mousePosText.TextName() = "I am a Sprite";
	mousePosText.TextColor() = XMFLOAT4(1, 0, 0, 1);
}
//================================================================================================================
MenuEditorSystem::MenuEditorSystem(ZShadeSandboxEnvironment::Environment* env)
:	m_Env2D(env->Env2D())
,	m_Env3D(env->Env3D())
{
	m_D3DSystem = m_Env2D->GetD3D();
	m_EngineOptions = m_Env2D->GetEngineOptions();

	switch (m_EngineOptions->m_DimType)
	{
		case ZSHADE_2D:
		{
			m_mainGameDirectory2D = m_Env2D->GetGD2D();
		}
		break;
		case ZSHADE_3D:
		{
			m_mainGameDirectory3D = m_Env3D->GetGD3D();
		}
		break;
	}
	
	m_ClickDelayTimer = new SleepTimer();
	m_SelectionTimer = new SleepTimer();
	
	m_BackgroundImageName = "";
	m_SelectedButtonImageName = "";
	m_displaySpriteCover = 0;
	m_cloneDisplaySpriteCover = 0;
	m_MovingButtonSprite = 0;
	m_MovingTextSprite = 0;
	m_selectModeButtonID = -1;
	m_selectModeTextID = -1;
	m_originalButtonID = -1;
	m_originalTextID = -1;
	m_button_cache_selection_changed = false;
	m_resizing_button = false;
	m_moving_button = false;
	m_cloning_button = false;
	m_moving_text = false;
	m_cloning_text = false;
	m_selected_button_cover = false;
	m_selected_text_cover = false;
	m_display_button_box_created = false;
	m_display_selected_button_box = false;
	m_display_selected_text_box = false;
	m_select_sprite_box = 0;
	m_button_with_box = 0;
	m_text_with_box = 0;
	m_sprite_box = 0;
	m_SelectedButtonSprite = 0;
	m_EditSizeButtonSprite = 0;
	m_SelectedTextSprite = 0;
	m_ActiveMenuName = "";
	
	// Set defaults
	SwitchToEditTypeNone();
	
	m_ActiveMenuName = "MainMenu";

	usingGrid = false;
	gridSizeX = 80;
	gridSizeY = 20;

	stampPressed = false;

	mousePosText.SetD3D(m_D3DSystem);
	mousePosText.Initialize();
	mousePosText.CreateShadow();
	mousePosText.ChangeFont(L"Times New Roman", 24.0f, FontStyle::BoldItalic, true);
	mousePosText.TextName() = "I am a Sprite";
	mousePosText.TextColor() = XMFLOAT4(1, 0, 0, 1);
}
//================================================================================================================
HUDEditorSystem::HUDEditorSystem(ZShadeSandboxEnvironment::Environment* env)
:	m_Env2D(env->Env2D())
,	m_Env3D(env->Env3D())
{
	m_D3DSystem = m_Env2D->GetD3D();
	m_EngineOptions = m_Env2D->GetEngineOptions();

	switch (m_EngineOptions->m_DimType)
	{
		case ZSHADE_2D:
		{
			m_mainGameDirectory2D = m_Env2D->GetGD2D();
		}
		break;
		case ZSHADE_3D:
		{
			m_mainGameDirectory3D = m_Env3D->GetGD3D();
		}
		break;
	}

	m_ClickDelayTimer = new SleepTimer();
	m_SelectionTimer = new SleepTimer();
	
	m_SelectedImageImageName = "";
	
	// Set defaults
	SwitchToEditTypeNone();

	usingGrid = false;
	gridSizeX = 64;
	gridSizeY = 64;
	stampPressed = false;
	m_selectModeImageID = -1;
	m_selectModeTextID = -1;
	m_originalImageID = -1;
	m_originalTextID = -1;
	m_image_cache_selection_changed = false;
	m_resizing_image = false;
	m_moving_image = false;
	m_cloning_image = false;
	m_moving_text = false;
	m_cloning_text = false;
	m_selected_image_cover = false;
	m_selected_text_cover = false;
	m_display_image_box_created = false;
	m_display_selected_image_box = false;
	m_display_selected_text_box = false;
	m_select_sprite_box = 0;
	m_image_with_box = 0;
	m_text_with_box = 0;
	m_sprite_box = 0;
	m_MovingImageSprite = 0;
	m_SelectedImageSprite = 0;
	m_EditSizeImageSprite = 0;
	m_MovingTextSprite = 0;
	m_SelectedTextSprite = 0;
	m_displaySpriteCover = 0;
	m_cloneDisplaySpriteCover = 0;
	m_cloneDisplayTextSprite = 0;
}