DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ InitGhostSlots()

void AttachmentCategoriesContainer::InitGhostSlots ( )
inlineprotected

См. определение в файле AttachmentCategoriesContainer.c строка 321

322 {
323 TypeAttachmentGroupsDataHolder holder = m_Entity.GetTypeAttachmentGroupInfoHolder();
324 TAttachmentGroupMap groupMap = holder.GetAttachmentGroupMap();
325 int categoriesCount = holder.GetValidAttachmnetGroupCount();
326 int childrenCount = m_Body.Count();
327
328 SlotsContainer items_cont;
329 SlotsIcon icon;
330 string attCategoryClass;
331 string icon_name2;
332 TypeAttachmentGroupData groupData;
333
334 for (int i = 0; i < categoriesCount; ++i)
335 {
336 items_cont = GetSlotsContainer(i / ITEMS_IN_ROW);
337 attCategoryClass = groupMap.GetKey(i);
338 groupData = groupMap.Get(attCategoryClass);
339
340 if (items_cont)
341 {
342 int slot_number = i % ITEMS_IN_ROW;
343 m_CategorySlotIndex.Insert(attCategoryClass, i);
344 icon = items_cont.GetSlotIcon(slot_number);
345 icon.GetGhostSlot().SetFlags(WidgetFlags.IGNOREPOINTER);
346 LoadAttachmentCategoriesIcon(items_cont, groupData.m_IconPath, slot_number);
347 icon.SetSlotDisplayName(groupData.m_Name);
348
349 AttachmentCategoriesRow ar;
350 ar = new AttachmentCategoriesRow(this, -1);
351 ar.Init(categoriesCount, i, attCategoryClass, holder.GetPropsCfgPath(), m_Entity, childrenCount);
352
353 ar.SetSlotIcon(icon);
354
355 icon.GetRadialIconPanel().Show(true);
356 ar.Open();
357 icon.SetContainer(ar);
358 Insert(ar);
359 }
360 }
361
363 {
364 items_cont = GetSlotsContainer(m_SlotsCount - 1);
365 if (items_cont)
366 {
367 icon = items_cont.GetSlotIcon(categoriesCount);
368 icon.GetGhostSlot().Show(true);
369 icon.GetGhostSlot().LoadImageFile(0, StaticGUIUtils.VerifyIconImageString(StaticGUIUtils.IMAGESETGROUP_INVENTORY,m_Entity.ConfigGetString("GUIInventoryCargoIcon")));
370 icon.SetSlotDisplayName(m_Entity.ConfigGetString("GUIInventoryCargoName"));
371 icon.GetGhostSlot().SetFlags(WidgetFlags.IGNOREPOINTER);
372
373 icon.GetRadialIconPanel().Show(true);
374 icon.GetMainWidget().Show(true);
375
376 ContainerWithCargo iwc = new ContainerWithCargo(this, -1);
377 iwc.Get(0).GetRootWidget().ClearFlags(WidgetFlags.DRAGGABLE);
378 iwc.SetEntity(m_Entity, 0, false);
379 iwc.SetSlotIcon(icon);
380 iwc.Open();
381
382 icon.SetContainer(iwc);
383 m_CargoSlotsIcon = icon;
384 }
385 }
386
387 RecomputeOpenedContainers();
388 }
const int ITEMS_IN_ROW
Entity m_Entity
Определения CachedEquipmentStorageBase.c:16
map< string, ref TypeAttachmentGroupData > TAttachmentGroupMap
Определения TypeAttachmentGroupDataHolders.c:1
ref map< string, int > m_CategorySlotIndex
Определения AttachmentCategoriesContainer.c:3
void LoadAttachmentCategoriesIcon(SlotsContainer items_cont, string icon_name, int slot_number)
SlotsContainer GetSlotsContainer(int icons_row)
void Init(int attachments_categories_count, int i, string attachment_category, string config_path_attachment_categories, EntityAI entity, int parent_m_Body_count)
Определения AttachmentCategoriesRow.c:914
override void Open()
Определения ContainerWithCargo.c:68
override void Insert(LayoutHolder container, int pos=-1, bool immedUpdate=true)
Определения CollapsibleContainer.c:66
proto native GameInventory GetInventory()
TypeAttachmentGroupsDataHolder GetTypeAttachmentGroupInfoHolder()
proto native CargoBase GetCargo()
cargo
SlotsIcon GetSlotIcon(int index)
Определения SlotsContainer.c:207
void SetContainer(Container container)
Определения SlotsIconBase.c:109
Widget GetRadialIconPanel()
Определения SlotsIconBase.c:270
ImageWidget GetGhostSlot()
Определения SlotsIconBase.c:205
void SetSlotDisplayName(string text)
Определения SlotsIconBase.c:114
string m_IconPath
Displayable, unlocalized name.
Определения TypeAttachmentGroupData.c:11
TAttachmentGroupMap GetAttachmentGroupMap()
WidgetFlags
Определения EnWidgets.c:58

Перекрестные ссылки TypeAttachmentGroupsDataHolder::GetAttachmentGroupMap(), SlotsIconBase::GetGhostSlot(), TypeAttachmentGroupsDataHolder::GetPropsCfgPath(), SlotsIconBase::GetRadialIconPanel(), SlotsContainer::GetSlotIcon(), GetSlotsContainer(), TypeAttachmentGroupsDataHolder::GetValidAttachmnetGroupCount(), StaticGUIUtils::IMAGESETGROUP_INVENTORY, AttachmentCategoriesRow::Init(), CollapsibleContainer::Insert(), ITEMS_IN_ROW, LoadAttachmentCategoriesIcon(), m_CargoSlotsIcon, m_CategorySlotIndex, m_Entity, TypeAttachmentGroupData::m_IconPath, TypeAttachmentGroupData::m_Name, m_SlotsCount, ClosableContainer::Open(), SlotsIconBase::SetContainer(), SlotsIconBase::SetSlotDisplayName() и StaticGUIUtils::VerifyIconImageString().

Используется в SetEntity().