MessageDialog::MessageDialog(char const *_name, char const *_message)
:	DarwiniaWindow(_name),
	m_numLines(0)
{
	char const *lineStart = _message;
	int longestLine = 0;
	while(1)
	{
		if (_message[0] == '\n' || _message[0] == '\0')
		{
			int lineLen = _message - lineStart;
			if (lineLen > longestLine) longestLine = lineLen;
			m_messageLines[m_numLines] = new char [lineLen + 1];
			strncpy(m_messageLines[m_numLines], lineStart, lineLen);
			m_messageLines[m_numLines][lineLen] = '\0';
			m_numLines++;
			lineStart = _message + 1;
		}

		if (_message[0] == '\0')
		{
			break;
		}

		_message++;
	}

	m_w = g_editorFont.GetTextWidth(longestLine) + 10;
	m_w = max(m_w, 100);
	m_h = 65 + m_numLines * DEF_FONT_SIZE;
	m_h = max(m_h, 85);
	SetMenuSize( m_w, m_h );
	m_x = g_app->m_renderer->ScreenW()/2 - m_w/2;
	m_y = g_app->m_renderer->ScreenH()/2 - m_h/2;
}
bool Window_UseSkillBase::Setup(
	Game_AliceDollList* _pDollList,
	Record_Item* _pItemRecord,
	Record_AliceInfo* _pAliceInfo){
	SetFrame(&g_wndSkins.skin[WNDSKIN_DOLLMANAGE], PRESETCOLORSET_BROWN);
	if(!SetPtr(_pDollList, _pItemRecord, _pAliceInfo)){
		return false;
	}
	// 一体を選択しての左のメニューは使用しない
	SetMenuSize(1);
	// アイテムマネージャ・スキルマネージャのセットアップ
	SetupItemManager(true);
	SetupSkillManager();
	// 使用スキルマネージャのセットアップ
	useSkillManager.Setup(_pDollList, _pAliceInfo);
	// フェイズと人形の設定
	phaze = WND_USESKILL_PHAZE_SKILLSELECT;
	managingDollIndex = -1;
	// リフレッシュ(クラスによって異なる)
	// ここで、使用可能なスキルのインポートを行う。
	ImportSkills();
	return true;
}