CUIDragItem* CUIWeaponCellItem::CreateDragItem() { CUIDragItem* i = inherited::CreateDragItem(); CUIStatic* s = NULL; if(GetIcon(eSilencer)) { s = new CUIStatic(); s->SetAutoDelete(true); s->SetShader (InventoryUtilities::GetEquipmentIconsShader()); InitAddon (s, *object()->GetSilencerName(), m_addon_offset[eSilencer], false); s->SetColor (i->wnd()->GetColor()); i->wnd ()->AttachChild (s); } if(GetIcon(eScope)) { s = new CUIStatic(); s->SetAutoDelete(true); s->SetShader (InventoryUtilities::GetEquipmentIconsShader()); InitAddon (s, *object()->GetScopeName(), m_addon_offset[eScope], false); s->SetColor (i->wnd()->GetColor()); i->wnd ()->AttachChild (s); } if(GetIcon(eLauncher)) { s = new CUIStatic(); s->SetAutoDelete(true); s->SetShader (InventoryUtilities::GetEquipmentIconsShader()); InitAddon (s, *object()->GetGrenadeLauncherName(),m_addon_offset[eLauncher], false); s->SetColor (i->wnd()->GetColor()); i->wnd ()->AttachChild (s); } return i; }
float CUIPdaKillMessage::InitIcon(CUIStatic& refStatic, float x, IconInfo& info){ if ( 0 == info.m_rect.width()) return 0; if (info.m_shader == NULL) return 0; float y = 0; float selfHeight = GetHeight(); float scale = 0; Frect rect = info.m_rect; float width = rect.width(); float height = rect.height(); scale = selfHeight/height; if (scale > 1) scale = 1; width = width*scale; height = height*scale; y = (selfHeight - height) /2; refStatic.Init(x, y, width, height); refStatic.SetOriginalRect(info.m_rect); refStatic.SetShader(info.m_shader); refStatic.SetStretchTexture(true); return width; }
void CUIDragDropReferenceList::LoadItemTexture(LPCSTR section, Ivector2 cell_pos) { CUIStatic* ref = m_references[cell_pos.x]; ref->SetShader(InventoryUtilities::GetEquipmentIconsShader()); Frect texture_rect; texture_rect.x1 = pSettings->r_float(section, "inv_grid_x") *INV_GRID_WIDTH; texture_rect.y1 = pSettings->r_float(section, "inv_grid_y") *INV_GRID_HEIGHT; texture_rect.x2 = pSettings->r_float(section, "inv_grid_width") *INV_GRID_WIDTH; texture_rect.y2 = pSettings->r_float(section, "inv_grid_height")*INV_GRID_HEIGHT; texture_rect.rb.add(texture_rect.lt); ref->SetTextureRect(texture_rect); ref->TextureOn(); ref->SetTextureColor(color_rgba(255,255,255,255)); ref->SetStretchTexture(true); }
void CUIDragDropReferenceList::SetItem(CUICellItem* itm, Ivector2 cell_pos) { CUIStatic* ref = m_references[cell_pos.x]; ref->SetShader(itm->GetShader()); ref->SetTextureRect(itm->GetTextureRect()); ref->TextureOn(); ref->SetTextureColor(color_rgba(255,255,255,255)); ref->SetStretchTexture(true); CUICell& C = m_container->GetCellAt(cell_pos); if(C.m_item!=itm) { m_container->PlaceItemAtPos(itm, cell_pos); itm->SetWindowName("cell_item"); Register(itm); itm->SetOwnerList(this); } }