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

◆ RecomputeOpenedContainers()

void LayoutHolder::RecomputeOpenedContainers ( )
inlineprotected

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

1145 {
1146 m_OpenedContainers.Clear();
1147 int i;
1148 bool need_reset_focus = false;
1149 Container c;
1150 for (i = 0; i < m_Body.Count(); i++)
1151 {
1152 c = Container.Cast(m_Body.Get( i ));
1153 if ( c )
1154 {
1155 c.RecomputeOpenedContainers();
1156 if (c.IsDisplayable() && c.IsVisible())
1157 {
1158 m_OpenedContainers.Insert(c);
1159 }
1160 else if (c.IsActive())
1161 {
1162 c.SetActive(false);
1163 need_reset_focus = true;
1164 }
1165
1166 }
1167 }
1168
1169 //In case of removing focused container or change order of containers
1170 if (IsActive())
1171 {
1172 if (!need_reset_focus && ( m_ActiveIndex >= m_OpenedContainers.Count() || !m_OpenedContainers[m_ActiveIndex].IsActive() ))
1173 {
1174 need_reset_focus = true;
1175 for (i = 0; i < m_OpenedContainers.Count(); i++)
1176 {
1178 {
1179 need_reset_focus = false;
1180 m_ActiveIndex = i;
1181 }
1182 }
1183 }
1184
1185 if (need_reset_focus)
1186 {
1188 }
1189 }
1190 }
bool IsActive()
Определения BunkerBroadcastComponent.c:255
override void SetActive(bool active)
Определения CargoContainer.c:769
override bool IsDisplayable()
Определения ClosableContainer.c:17
void Container(LayoutHolder parent)
Определения Container.c:35
ref array< ref LayoutHolder > m_Body
Определения Container.c:3
override void SetFirstActive()
Определения Container.c:819
ref array< LayoutHolder > m_OpenedContainers
Определения Container.c:4
int m_ActiveIndex
Определения Container.c:5

Перекрестные ссылки Container(), IsActive(), Container::IsDisplayable(), m_ActiveIndex, m_Body, m_OpenedContainers, Container::SetActive() и SetFirstActive().