void CAutoInfo::UpdateListVirus() { Ui::CWindow* pw = static_cast< Ui::CWindow* >(m_interface->SearchControl(EVENT_WINDOW0)); if (pw == nullptr) return; Ui::CList* pl = static_cast< Ui::CList* >(pw->SearchControl(EVENT_OBJECT_GINFO)); if (pl == nullptr) return; pl->SetState(Ui::STATE_ENABLE); pl->Flush(); for (int i = 0; i < 4; ++i) { char text[100]; int max = static_cast< int >(2.0f+Math::Rand()*10.0f); for (int j = 0; j < max; ++j) { do { text[j] = ' '+static_cast<int>(Math::Rand()*94.0f); } while (text[j] == '\\'); } text[max] = 0; pl->SetItemName(i, text); } }
BOOL CSlotWindow::OnMouseLeftButtonUp() { if (UI::CWindowManager::Instance().IsAttaching()) if (UI::CWindowManager::Instance().IsDragging()) if (IsIn()) { UI::CWindow * pWin = UI::CWindowManager::Instance().GetPointWindow(); if (pWin) if (pWin->IsType(UI::CSlotWindow::Type())) { UI::CSlotWindow * pSlotWin = (UI::CSlotWindow *)pWin; TSlot * pSlot; if (!pSlotWin->GetPickedSlotPointer(&pSlot)) { UI::CWindowManager::Instance().DeattachIcon(); return TRUE; } if (pSlot->isItem) pSlotWin->OnSelectItemSlot(pSlot->dwSlotNumber); else pSlotWin->OnSelectEmptySlot(pSlot->dwSlotNumber); return TRUE; } return FALSE; } return FALSE; }
bool CAutoConvert::CreateInterface(bool bSelect) { Ui::CWindow* pw; Math::Point pos, ddim; float ox, oy, sx, sy; CAuto::CreateInterface(bSelect); if ( !bSelect ) return true; pw = static_cast< Ui::CWindow* >(m_interface->SearchControl(EVENT_WINDOW0)); if ( pw == nullptr ) return false; ox = 3.0f/640.0f; oy = 3.0f/480.0f; sx = 33.0f/640.0f; sy = 33.0f/480.0f; pos.x = ox+sx*0.0f; pos.y = oy+sy*0; ddim.x = 66.0f/640.0f; ddim.y = 66.0f/480.0f; pw->CreateGroup(pos, ddim, 103, EVENT_OBJECT_TYPE); return true; }
bool CAutoRadar::CreateInterface(bool bSelect) { Ui::CWindow* pw; Math::Point pos, dim, ddim; float ox, oy, sx, sy; CAuto::CreateInterface(bSelect); if ( !bSelect ) return true; pw = static_cast< Ui::CWindow* >(m_interface->SearchControl(EVENT_WINDOW0)); if ( pw == 0 ) return false; ox = 3.0f/640.0f; oy = 3.0f/480.0f; sx = 33.0f/640.0f; sy = 33.0f/480.0f; pos.x = ox+sx*7.0f; pos.y = oy+sy*0.6f; dim.x = 160.0f/640.0f; dim.y = 26.0f/480.0f; pw->CreateGauge(pos, dim, 1, EVENT_OBJECT_GRADAR); pos.x = ox+sx*0.0f; pos.y = oy+sy*0; ddim.x = 66.0f/640.0f; ddim.y = 66.0f/480.0f; pw->CreateGroup(pos, ddim, 105, EVENT_OBJECT_TYPE); UpdateInterface(); return true; }
void CDisplayInfo::ChangeIndexButton(int index) { Ui::CWindow* pw; Ui::CEdit* edit; char* filename; pw = static_cast<Ui::CWindow*>(m_interface->SearchControl(EVENT_WINDOW4)); if ( pw == 0 ) return; if ( m_index != -1 ) { m_main->SetDisplayInfoPosition(m_index, GetPosition()); } m_index = index; edit = static_cast<Ui::CEdit*>(pw->SearchControl(EVENT_EDIT1)); if ( edit != 0 ) { filename = m_main->GetDisplayInfoName(m_index); edit->ReadText(filename); edit->HyperHome(std::string(filename)); SetPosition(m_main->GetDisplayInfoPosition(m_index)); } UpdateIndexButton(); }
void CAutoInfo::UpdateList() { Ui::CWindow* pw; Ui::CList* pl; Info info; int total, i; char text[100]; pw = static_cast< Ui::CWindow* >(m_interface->SearchControl(EVENT_WINDOW0)); if ( pw == nullptr ) return; pl = static_cast< Ui::CList* >(pw->SearchControl(EVENT_OBJECT_GINFO)); if ( pl == nullptr ) return; pl->Flush(); total = m_object->GetInfoTotal(); if ( total == 0 ) { pl->ClearState(Ui::STATE_ENABLE); } else { pl->SetState(Ui::STATE_ENABLE); for ( i=0 ; i<total ; i++ ) { info = m_object->GetInfo(i); sprintf(text, "%s = %.2f", info.name, info.value); pl->SetItemName(i, text); } } m_object->SetInfoUpdate(false); }
void CDisplayInfo::HyperUpdate() { Ui::CWindow* pw; Ui::CEdit* edit; Ui::CButton* button; bool bEnable; pw = static_cast<Ui::CWindow*>(m_interface->SearchControl(EVENT_WINDOW4)); if ( pw == 0 ) return; edit = static_cast<Ui::CEdit*>(pw->SearchControl(EVENT_EDIT1)); if ( edit == 0 ) return; button = static_cast<Ui::CButton*>(pw->SearchControl(EVENT_HYPER_HOME)); if ( button != 0 ) { bEnable = edit->HyperTest(EVENT_HYPER_HOME); button->SetState(STATE_ENABLE, bEnable); } button = static_cast<Ui::CButton*>(pw->SearchControl(EVENT_HYPER_PREV)); if ( button != 0 ) { bEnable = edit->HyperTest(EVENT_HYPER_PREV); button->SetState(STATE_ENABLE, bEnable); } button = static_cast<Ui::CButton*>(pw->SearchControl(EVENT_HYPER_NEXT)); if ( button != 0 ) { bEnable = edit->HyperTest(EVENT_HYPER_NEXT); button->SetState(STATE_ENABLE, bEnable); } }
bool CAutoInfo::CreateInterface(bool select) { CAuto::CreateInterface(select); if (!select) return true; Ui::CWindow* pw = static_cast< Ui::CWindow* >(m_interface->SearchControl(EVENT_WINDOW0)); if (pw == nullptr) return false; float ox = 3.0f/640.0f; float oy = 3.0f/480.0f; float sx = 33.0f/640.0f; float sy = 33.0f/480.0f; Math::Point pos, ddim; pos.x = ox+sx*7.0f; pos.y = oy+sy*0.0f; ddim.x = 160.0f/640.0f; ddim.y = 66.0f/480.0f; Ui::CList* pl = pw->CreateList(pos, ddim, 1, EVENT_OBJECT_GINFO, 1.10f); pl->SetSelectCap(false); pos.x = ox+sx*0.0f; pos.y = oy+sy*0; ddim.x = 66.0f/640.0f; ddim.y = 66.0f/480.0f; pw->CreateGroup(pos, ddim, 112, EVENT_OBJECT_TYPE); UpdateList(); return true; }
void CAuto::UpdateInterface(float rTime) { Ui::CWindow* pw; Ui::CGauge* pg; if ( m_time < m_lastUpdateTime+0.1f ) return; m_lastUpdateTime = m_time; if ( !m_object->GetSelect() ) return; pw = static_cast<Ui::CWindow*>(m_interface->SearchControl(EVENT_WINDOW0)); if ( pw == nullptr ) return; pg = static_cast<Ui::CGauge*>(pw->SearchControl(EVENT_OBJECT_GSHIELD)); if ( pg != nullptr ) { pg->SetLevel(m_object->GetShield()); } pg = static_cast<Ui::CGauge*>(pw->SearchControl(EVENT_OBJECT_GPROGRESS)); if ( pg != nullptr ) { pg->SetLevel(m_progressTime); } }
void CAutoInfo::UpdateList() { CExchangePost* object = static_cast<CExchangePost*>(m_object); Ui::CWindow* pw = static_cast< Ui::CWindow* >(m_interface->SearchControl(EVENT_WINDOW0)); if (pw == nullptr) return; Ui::CList* pl = static_cast< Ui::CList* >(pw->SearchControl(EVENT_OBJECT_GINFO)); if (pl == nullptr) return; pl->Flush(); const auto& infoList = object->GetInfoList(); if (infoList.empty()) { pl->ClearState(Ui::STATE_ENABLE); } else { pl->SetState(Ui::STATE_ENABLE); for (int i = 0; i < static_cast<int>(infoList.size()); i++) { char text[100]; sprintf(text, "%s = %.2f", infoList[i].name.c_str(), infoList[i].value); pl->SetItemName(i, text); } } object->SetInfoUpdate(false); }
void CAutoTower::UpdateInterface(float rTime) { Ui::CWindow* pw; Ui::CGauge* pg; CObject* power; float energy; CAuto::UpdateInterface(rTime); if ( m_time < m_lastUpdateTime+0.1f ) return; m_lastUpdateTime = m_time; if ( !m_object->GetSelect() ) return; pw = static_cast< Ui::CWindow* >(m_interface->SearchControl(EVENT_WINDOW0)); if ( pw == 0 ) return; pg = static_cast< Ui::CGauge* >(pw->SearchControl(EVENT_OBJECT_GENERGY)); if ( pg != 0 ) { energy = 0.0f; power = m_object->GetPower(); if ( power != 0 ) { energy = power->GetEnergy(); } pg->SetLevel(energy); } }
void CDisplayText::HideText(bool bHide) { Ui::CWindow* pw; Ui::CGroup* pg; Ui::CLabel* pl; Ui::CButton* pb; int i; m_bHide = bHide; pw = static_cast<Ui::CWindow*>(m_interface->SearchControl(EVENT_WINDOW2)); if ( pw == 0 ) return; for ( i=0 ; i<MAXDTLINE ; i++ ) { pg = static_cast<Ui::CGroup*>(pw->SearchControl(EventType(EVENT_DT_GROUP0+i))); if ( pg != 0 ) { pg->SetState(STATE_VISIBLE, !bHide); } pl = static_cast<Ui::CLabel*>(pw->SearchControl(EventType(EVENT_DT_LABEL0+i))); if ( pl != 0 ) { pl->SetState(STATE_VISIBLE, !bHide); } pb = static_cast<CButton*>(pw->SearchControl(EventType(EVENT_DT_VISIT0+i))); if ( pb != 0 ) { pb->SetState(STATE_VISIBLE, !bHide); } } }
int CDisplayInfo::GetPosition() { Ui::CWindow* pw; Ui::CEdit* edit; pw = static_cast<Ui::CWindow*>(m_interface->SearchControl(EVENT_WINDOW4)); if ( pw == 0 ) return 0; edit = static_cast<Ui::CEdit*>(pw->SearchControl(EVENT_EDIT1)); if ( edit == 0 ) return 0; return edit->GetFirstLine(); }
void CDisplayInfo::SetPosition(int pos) { Ui::CWindow* pw; Ui::CEdit* edit; pw = static_cast<Ui::CWindow*>(m_interface->SearchControl(EVENT_WINDOW4)); if ( pw == nullptr ) return; edit = static_cast<Ui::CEdit*>(pw->SearchControl(EVENT_EDIT1)); if ( edit == nullptr ) return; edit->SetFirstLine(pos); }
bool CAutoBase::CreateInterface(bool bSelect) { Ui::CWindow* pw; Math::Point pos, dim, ddim; float ox, oy, sx, sy; float sleep, delay, magnetic, progress; CAuto::CreateInterface(bSelect); if ( !bSelect ) return true; pw = static_cast<Ui::CWindow*>(m_interface->SearchControl(EVENT_WINDOW0)); if ( pw == nullptr ) return false; dim.x = 33.0f/640.0f; dim.y = 33.0f/480.0f; ox = 3.0f/640.0f; oy = 3.0f/480.0f; sx = 33.0f/640.0f; sy = 33.0f/480.0f; ddim.x = dim.x*1.5f; ddim.y = dim.y*1.5f; //? pos.x = ox+sx*7.25f; //? pos.y = oy+sy*0.25f; //? pw->CreateButton(pos, ddim, 63, EVENT_OBJECT_BHELP); pos.x = ox+sx*8.00f; pos.y = oy+sy*0.25f; pw->CreateButton(pos, ddim, 28, EVENT_OBJECT_BTAKEOFF); if ( m_lightning->GetStatus(sleep, delay, magnetic, progress) ) { pos.x = ox+sx*10.2f; pos.y = oy+sy*0.5f; ddim.x = dim.x*1.0f; ddim.y = dim.y*1.0f; pw->CreateButton(pos, ddim, 41, EVENT_OBJECT_LIMIT); } pos.x = ox+sx*0.0f; pos.y = oy+sy*0; ddim.x = 66.0f/640.0f; ddim.y = 66.0f/480.0f; pw->CreateGroup(pos, ddim, 100, EVENT_OBJECT_TYPE); UpdateInterface(); return true; }
void CDisplayInfo::ViewDisplayInfo() { Ui::CWindow* pw; Ui::CEdit* edit; Math::IntPoint dim; pw = static_cast<Ui::CWindow*>(m_interface->SearchControl(EVENT_WINDOW4)); if ( pw == 0 ) return; edit = static_cast<Ui::CEdit*>(pw->SearchControl(EVENT_EDIT1)); if ( edit == 0 ) return; dim = m_engine->GetWindowSize(); edit->SetFontSize(m_main->GetFontSize()/(dim.x / 640.0f)); }
void CDisplayText::SetVisit(EventType event) { Ui::CWindow* pw; Ui::CButton* pb; int i; i = event-EVENT_DT_VISIT0; if ( i < 0 || i >= MAXDTLINE ) return; pw = static_cast<CWindow*>(m_interface->SearchControl(EVENT_WINDOW2)); if ( pw == nullptr ) return; pb = static_cast<CButton*>(pw->SearchControl(EventType(EVENT_DT_VISIT0+i))); if ( pb == nullptr ) return; pb->SetIcon(48); // > }
bool CDisplayText::IsVisit(EventType event) { Ui::CWindow* pw; Ui::CButton* pb; int i; i = event-EVENT_DT_VISIT0; if ( i < 0 || i >= MAXDTLINE ) return false; pw = static_cast<CWindow*>(m_interface->SearchControl(EVENT_WINDOW2)); if ( pw == 0 ) return false; pb = static_cast<CButton*>(pw->SearchControl(EventType(EVENT_DT_VISIT0+i))); if ( pb == 0 ) return false; return (pb->GetIcon() == 48); // > ? }
void CDisplayText::ClearText() { Ui::CWindow* pw = static_cast<Ui::CWindow*>(m_interface->SearchControl(EVENT_WINDOW2)); for (int i = 0; i < MAXDTLINE; i++) { if (pw != nullptr) { pw->DeleteControl(EventType(EVENT_DT_GROUP0+i)); pw->DeleteControl(EventType(EVENT_DT_LABEL0+i)); pw->DeleteControl(EventType(EVENT_DT_VISIT0+i)); } m_textLines[i] = TextLine(); } }
void CDisplayText::ClearVisit() { Ui::CWindow* pw; Ui::CButton* pb; int i; pw = static_cast<CWindow*>(m_interface->SearchControl(EVENT_WINDOW2)); if ( pw == 0 ) return; for ( i=0 ; i<MAXDTLINE ; i++ ) { pb = static_cast<CButton*>(pw->SearchControl(EventType(EVENT_DT_VISIT0+i))); if ( pb == 0 ) break; pb->SetIcon(14); // eyes } }
void CDisplayInfo::StopDisplayInfo() { Ui::CWindow* pw; pw = static_cast<Ui::CWindow*>(m_interface->SearchControl(EVENT_WINDOW4)); if ( pw == nullptr ) return; m_interface->DeleteControl(EVENT_WINDOW4); if ( m_bEditLock ) // editing running program? { pw = static_cast<CWindow*>(m_interface->SearchControl(EVENT_WINDOW3)); if ( pw != nullptr ) { pw->SetState(STATE_ENABLE); // CStudio operating } } else { m_main->SetEditLock(false, false); pw = static_cast<CWindow*>(m_interface->SearchControl(EVENT_WINDOW6)); if (pw != nullptr) pw->SetState(STATE_VISIBLE | STATE_ENABLE); } m_pause->DeactivatePause(m_satcomPause); m_satcomPause = nullptr; m_camera->SetType(m_infoCamera); m_engine->SetDrawWorld(true); // draws all on the interface m_engine->SetDrawFront(false); // draws nothing on the interface m_particle->SetFrameUpdate(Gfx::SH_WORLD, true); m_particle->FlushParticle(Gfx::SH_FRONT); m_particle->FlushParticle(Gfx::SH_INTERFACE); if ( m_toto != nullptr ) { assert(m_toto->Implements(ObjectInterfaceType::Movable)); CMotionToto* toto = static_cast<CMotionToto*>(dynamic_cast<CMovableObject*>(m_toto)->GetMotion()); assert(toto != nullptr); toto->StopDisplayInfo(); } m_light->DeleteLight(m_lightSuppl); m_lightSuppl = -1; }
bool CDisplayText::ClearLastText() { Ui::CWindow *pw; Ui::CButton *pb1, *pb2; Ui::CGroup *pg1, *pg2; Ui::CLabel *pl1, *pl2; int i; pw = static_cast<CWindow*>(m_interface->SearchControl(EVENT_WINDOW2)); if ( pw == 0 ) return false; pb2 = static_cast<CButton*>(pw->SearchControl(EVENT_DT_VISIT0)); if ( pb2 == 0 ) return false; // same not of first-line pg2 = static_cast<CGroup*>(pw->SearchControl(EVENT_DT_GROUP0)); if ( pg2 == 0 ) return false; pl2 = static_cast<CLabel*>(pw->SearchControl(EVENT_DT_LABEL0)); if ( pl2 == 0 ) return false; for ( i=0 ; i<MAXDTLINE-1 ; i++ ) { pb1 = pb2; pg1 = pg2; pl1 = pl2; pb2 = static_cast<CButton*>(pw->SearchControl(EventType(EVENT_DT_VISIT0+i+1))); if ( pb2 == 0 ) break; pg2 = static_cast<CGroup*>(pw->SearchControl(EventType(EVENT_DT_GROUP0+i+1))); if ( pg2 == 0 ) break; pl2 = static_cast<CLabel*>(pw->SearchControl(EventType(EVENT_DT_LABEL0+i+1))); if ( pl2 == 0 ) break; pb1->SetState(STATE_ENABLE, pb2->TestState(STATE_ENABLE)); pg1->SetIcon(pg2->GetIcon()); pl1->SetName(pl2->GetName()); m_time[i] = m_time[i+1]; m_visitGoal[i] = m_visitGoal[i+1]; m_visitDist[i] = m_visitDist[i+1]; m_visitHeight[i] = m_visitHeight[i+1]; // shift } pw->DeleteControl(EventType(EVENT_DT_VISIT0+i)); pw->DeleteControl(EventType(EVENT_DT_GROUP0+i)); pw->DeleteControl(EventType(EVENT_DT_LABEL0+i)); m_bExist[i] = false; return true; }
void CAutoTower::UpdateInterface(float rTime) { CAuto::UpdateInterface(rTime); if ( m_time < m_lastUpdateTime+0.1f ) return; m_lastUpdateTime = m_time; if ( !m_object->GetSelect() ) return; Ui::CWindow* pw = static_cast< Ui::CWindow* >(m_interface->SearchControl(EVENT_WINDOW0)); if ( pw == nullptr ) return; Ui::CGauge* pg = static_cast< Ui::CGauge* >(pw->SearchControl(EVENT_OBJECT_GENERGY)); if ( pg != nullptr ) { float energy = GetObjectEnergy(m_object); pg->SetLevel(energy); } }
void CDisplayInfo::StopDisplayInfo() { Ui::CWindow* pw; CMotionToto* toto; pw = static_cast<Ui::CWindow*>(m_interface->SearchControl(EVENT_WINDOW4)); if ( pw == 0 ) return; m_interface->DeleteControl(EVENT_WINDOW4); if ( m_bEditLock ) // editing running program? { pw = static_cast<CWindow*>(m_interface->SearchControl(EVENT_WINDOW3)); if ( pw != 0 ) { pw->SetState(STATE_ENABLE); // CStudio operating } } else { m_pause->SetPause(m_bInitPause); m_main->SetEditLock(false, false); } m_camera->SetType(m_infoCamera); m_engine->SetDrawWorld(true); // draws all on the interface m_engine->SetDrawFront(false); // draws nothing on the interface m_particle->SetFrameUpdate(Gfx::SH_WORLD, true); m_particle->FlushParticle(Gfx::SH_FRONT); m_particle->FlushParticle(Gfx::SH_INTERFACE); if ( m_toto != 0 ) { toto = static_cast<CMotionToto*>(m_toto->GetMotion()); if ( toto != 0 ) { toto->StopDisplayInfo(); } } m_light->DeleteLight(m_lightSuppl); m_lightSuppl = -1; }
void CAutoStation::UpdateInterface(float rTime) { Ui::CWindow* pw; Ui::CGauge* pg; CAuto::UpdateInterface(rTime); if ( m_time < m_lastUpdateTime+0.1f ) return; m_lastUpdateTime = m_time; if ( !m_object->GetSelect() ) return; pw = static_cast< Ui::CWindow* >(m_interface->SearchControl(EVENT_WINDOW0)); if ( pw == 0 ) return; pg = static_cast< Ui::CGauge* >(pw->SearchControl(EVENT_OBJECT_GENERGY)); if ( pg != 0 ) { pg->SetLevel(m_object->GetEnergy()); } }
void CAutoRadar::UpdateInterface() { Ui::CWindow* pw; Ui::CGauge* pg; float level; if ( !m_object->GetSelect() ) return; CAuto::UpdateInterface(); pw = static_cast< Ui::CWindow* >(m_interface->SearchControl(EVENT_WINDOW0)); if ( pw == 0 ) return; pg = static_cast< Ui::CGauge* >(pw->SearchControl(EVENT_OBJECT_GRADAR)); if ( pg != 0 ) { level = static_cast< float >(m_totalDetect*(1.0f/8.0f)); if ( level > 1.0f ) level = 1.0f; pg->SetLevel(level); } }
void CDisplayText::ClearText() { Ui::CWindow* pw; int i; pw = static_cast<Ui::CWindow*>(m_interface->SearchControl(EVENT_WINDOW2)); for ( i=0 ; i<MAXDTLINE ; i++ ) { if ( pw != 0 ) { pw->DeleteControl(EventType(EVENT_DT_GROUP0+i)); pw->DeleteControl(EventType(EVENT_DT_LABEL0+i)); pw->DeleteControl(EventType(EVENT_DT_VISIT0+i)); } m_bExist[i] = false; m_visitGoal[i] = Math::Vector(0.0f, 0.0f, 0.0f); m_visitDist[i] = 0.0f; m_visitHeight[i] = 0.0f; m_time[i] = 0.0f; } }
void CDisplayInfo::UpdateCopyButton() { Ui::CWindow* pw; Ui::CButton* button; Ui::CEdit* edit; int c1, c2; //? if ( m_index != SATCOM_LOADING ) return; pw = static_cast<Ui::CWindow*>(m_interface->SearchControl(EVENT_WINDOW4)); if ( pw == 0 ) return; button = static_cast<Ui::CButton*>(pw->SearchControl(EVENT_HYPER_COPY)); if ( button == 0 ) return; edit = static_cast<Ui::CEdit*>(pw->SearchControl(EVENT_EDIT1)); if ( edit == 0 ) return; edit->GetCursor(c1, c2); button->SetState(STATE_ENABLE, c1!=c2); }
bool CAutoTower::CreateInterface(bool bSelect) { Ui::CWindow* pw; Math::Point pos, ddim; float ox, oy, sx, sy; CAuto::CreateInterface(bSelect); if ( !bSelect ) return true; pw = static_cast< Ui::CWindow* >(m_interface->SearchControl(EVENT_WINDOW0)); if ( pw == nullptr ) return false; ox = 3.0f/640.0f; oy = 3.0f/480.0f; sx = 33.0f/640.0f; sy = 33.0f/480.0f; pos.x = ox+sx*14.5f; pos.y = oy+sy*0; ddim.x = 14.0f/640.0f; ddim.y = 66.0f/480.0f; pw->CreateGauge(pos, ddim, 0, EVENT_OBJECT_GENERGY); pos.x = ox+sx*0.0f; pos.y = oy+sy*0; ddim.x = 66.0f/640.0f; ddim.y = 66.0f/480.0f; pw->CreateGroup(pos, ddim, 107, EVENT_OBJECT_TYPE); pos.x = ox+sx*10.2f; pos.y = oy+sy*0.5f; ddim.x = 33.0f/640.0f; ddim.y = 33.0f/480.0f; pw->CreateButton(pos, ddim, 41, EVENT_OBJECT_LIMIT); return true; }
bool CAutoDestroyer::CreateInterface(bool bSelect) { Ui::CWindow* pw; Math::Point pos, ddim; float ox, oy, sx, sy; CObject* scrap; CAuto::CreateInterface(bSelect); if ( !bSelect ) return true; pw = static_cast< Ui::CWindow* >(m_interface->SearchControl(EVENT_WINDOW0)); if ( pw == nullptr ) return false; ox = 3.0f/640.0f; oy = 3.0f/480.0f; sx = 33.0f/640.0f; sy = 33.0f/480.0f; pos.x = ox+sx*0.0f; pos.y = oy+sy*0; ddim.x = 66.0f/640.0f; ddim.y = 66.0f/480.0f; pw->CreateGroup(pos, ddim, 106, EVENT_OBJECT_TYPE); pos.x = ox+sx*8.00f; pos.y = oy+sy*0.25f; ddim.x = (33.0f/640.0f)*1.5f; ddim.y = (33.0f/480.0f)*1.5f; pw->CreateButton(pos, ddim, 12, EVENT_OBJECT_BDESTROY); scrap = SearchPlastic(); EnableInterface(pw, EVENT_OBJECT_BDESTROY, (scrap != 0)); return true; }