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

◆ UpdateRowVisibility()

void Container::UpdateRowVisibility ( int count)
inlineprotected

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

482 {
483 int i;
484 int rows = Math.Max(1, Math.Ceil((count + 1) / ROWS_NUMBER_XBOX));
485 if (m_Cargo)
486 {
487 int maxRows = Math.Ceil(GetMaxCargoCapacity() / ROWS_NUMBER_XBOX);
488 if (rows > maxRows) // limit amout of cargo rows depending on max cargo capacity
489 rows = maxRows;
490 }
491 else
492 {
493 if (m_Entity)
494 Error(string.Format("%1::UpdateRowVisibility - CargoBase is NULL for entity %2 at position %3", ToString(), m_Entity.GetType(), m_Entity.GetPosition()));
495 }
496
497 int diff = rows - m_Rows.Count();
498 if(diff < 0)
499 {
500 for(i = m_Rows.Count() - 1; i >= rows; i--)
501 {
502 m_Rows.Remove(i);
503 }
504 }
505 else if(diff > 0)
506 {
507 m_MainWidget = m_CargoContainer;
508 for(i = m_Rows.Count(); i < rows; i++)
509 {
510 ref CargoContainerRow row = new CargoContainerRow(this);
511
512 row.SetNumber(i);
513 row.SetEntity(m_Entity);
514 row.GetRootWidget().SetSort(i);
515 m_Rows.Insert(row);
516 }
517 m_MainWidget = m_ItemsContainer;
518 }
519
520 m_Resizer2.ResizeParentToChild();
521 #ifndef PLATFORM_CONSOLE
522 m_Resizer1.ResizeParentToChild();
523 #endif
524 }
EntityAI m_Entity
Определения ActionDebug.c:11
proto string ToString()
Widget m_ItemsContainer
Определения CargoContainer.c:23
ref SizeToChild m_Resizer2
Определения CargoContainer.c:27
int GetMaxCargoCapacity()
Определения CargoContainer.c:399
ref SizeToChild m_Resizer1
Определения CargoContainer.c:25
Widget m_CargoContainer
Определения CargoContainer.c:22
const int ROWS_NUMBER_XBOX
Определения CargoContainer.c:4
CargoBase m_Cargo
Определения CargoContainer.c:6
ref array< ref CargoContainerRow > m_Rows
Определения CargoContainer.c:10
void Error(string err)
Messagebox with error message.
Определения EnDebug.c:90

Перекрестные ссылки Math::Ceil(), Error(), GetMaxCargoCapacity(), m_Cargo, m_CargoContainer, m_Entity, m_ItemsContainer, m_Resizer1, m_Resizer2, m_Rows, Math::Max(), ROWS_NUMBER_XBOX и ToString().

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