void GameState_NewDocState::OnAwake(const SFMLStateInfo* lStateInfo)
{
	m_filename = "";

	std::unique_ptr<SFMLCursesWindow> border(new SFMLCursesWindow(*m_window, sf::Vector2i(3,44)));
	m_border = border.get();
	border->setBorder(SFMLCursesChar(*m_window,"-",sf::Color::Blue,sf::Color::Black),SFMLCursesChar(*m_window,"-",sf::Color::Blue,sf::Color::Black),
		SFMLCursesChar(*m_window,"|",sf::Color::Blue,sf::Color::Black),SFMLCursesChar(*m_window,"|",sf::Color::Blue,sf::Color::Black),
		SFMLCursesChar(*m_window,"+",sf::Color::Blue,sf::Color::Black),SFMLCursesChar(*m_window,"+",sf::Color::Blue,sf::Color::Black),
		SFMLCursesChar(*m_window,"+",sf::Color::Blue,sf::Color::Black),SFMLCursesChar(*m_window,"+",sf::Color::Blue,sf::Color::Black));
	border->setTiles("New Document", sf::Color(200,200,255,255), sf::Color::Black, sf::Vector2i(0,3));
	border->setTiles("Erase unsaved changes? (Y/N):", sf::Color::White, sf::Color::Black, sf::Vector2i(1,1));
	border->setPosition(m_window->getSize().x/2 - border->getLocalBounds().width/2.0f, 280.0f);

	std::unique_ptr<SFMLCursesTextBox> filenameBox(new SFMLCursesTextBox(*m_window, sf::Vector2i(1,12)));
	m_filenameBox = filenameBox.get();
	filenameBox->setPosition(border->getGlobalBounds().left + 31.0f*8.0f, border->getGlobalBounds().top + 12.0f);

	addGUIElement(std::move(border));
	addGUIElement(std::move(filenameBox));
}
void GameState_CreatureMenu::OnAwake(const SFMLStateInfo* lStateInfo)
{
	//if the info is valid (inventory component)
	if(const StateInfo_CreatureMenu* creatureMenuInfo = dynamic_cast<const StateInfo_CreatureMenu*>(lStateInfo))
	{
		std::unique_ptr<SFMLUIMenu_Creature> creatureMenu(new SFMLUIMenu_Creature(*m_window,
			*creatureMenuInfo->m_gameTurnTimer,creatureMenuInfo->m_creature));
		m_creatureMenu = creatureMenu.get();
		addGUIElement(std::move(creatureMenu));
		/*
		std::unique_ptr<UIMenu_EntityList> entityList(
			new UIMenu_EntityList(stateInfoInv->m_invComponent->getItemList(),
			sf::Vector2i(stateInfoInv->m_invComponent->getNumEntities(),15), *this));
		entityList->setIsActive(true);
		m_entityList = entityList.get();
		addGUIElement(std::move(entityList));
		*/
	}

}
//! adds an element to the environment based on its type name
IGUIElement* CDefaultGUIElementFactory::addGUIElement(const c8* typeName, IGUIElement* parent)
{
	return addGUIElement( getTypeFromName(typeName), parent );
}