void CUIManager::CreateGUIItem(const UINT nID, const tstring strType, const vector<tstring>& strTexture) { if ( strTexture[0].empty() ) { return; } CUserInterface* pUI = GetCurrentUI();; if (nullptr == pUI) { throw tstring(_T("Get current UI field.")); } CObject* pObject = nullptr; if (strSpriteName == strType) { // Create Sprite CSprite* pSprite = new CSprite(m_pDDraw); pSprite->SetTexture(strTexture); pObject = pSprite; } else if (strTextFieldName == strType) { // Create Text field CTextField* pText = new CTextField(m_pDDraw); pText->SetTexture(strTexture); pObject = pText; } else if (strButtonName == strType) { // Create Button CButton* pButton = new CButton(m_pDDraw); pButton->SetTexture(strTexture); pObject = pButton; } else { throw tstring(_T("Type error")); } if (pObject) { pUI->DeleteObject(nID); pObject->SetID(nID); pUI->AddObject(nID, pObject); } }