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

◆ InventoryReservation()

override bool FirearmActionDetachMagazine::InventoryReservation ( ActionData action_data)
inlineprivate

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

160 {
161 Weapon_Base wpn = Weapon_Base.Cast(action_data.m_MainItem);
162 Magazine mag = Magazine.Cast(action_data.m_Target.GetObject());
163
164 InventoryLocation ilWpn = new InventoryLocation();
165 InventoryLocation ilMag = new InventoryLocation();
166
167 int ur_index = action_data.m_Player.GetHumanInventory().FindUserReservedLocationIndex(wpn);
168 if(ur_index > -1)
169 {
170 action_data.m_Player.GetHumanInventory().GetUserReservedLocation(ur_index,ilWpn);
171 }
172 else
173 {
174 action_data.m_Player.GetInventory().FindFreeLocationFor(wpn, FindInventoryLocationType.ANY_CARGO | FindInventoryLocationType.ATTACHMENT, ilWpn);
175 }
176
177 if(!action_data.m_Player.GetInventory().FindFreeLocationFor(mag, FindInventoryLocationType.ANY_CARGO, ilMag))
178 return false;
179
180 if(!super.InventoryReservation(action_data))
181 return false;
182
183 AdvDetachMagActionData action_data_dm = AdvDetachMagActionData.Cast(action_data);
184 if(!action_data.m_Player.GetInventory().AddInventoryReservationEx(wpn,ilWpn,10000))
185 return false;
186
187 if(!action_data.m_Player.GetInventory().AddInventoryReservationEx(mag,ilMag,10000))
188 return false;
189
190 action_data_dm.m_ReservedInventoryLocations.Insert(ilWpn);
191 action_data_dm.m_ReservedInventoryLocations.Insert(ilMag);
192 action_data_dm.m_ilWeapon = ilWpn;
193 action_data_dm.m_ilMagazine = ilMag;
194
195 return true;
196 }
FindInventoryLocationType
flags for searching locations in inventory
Определения InventoryLocation.c:18
PlayerBase m_Player
Определения ActionBase.c:40
ref ActionTarget m_Target
Определения ActionBase.c:39
ItemBase m_MainItem
Определения ActionBase.c:35

Перекрестные ссылки ActionData::m_MainItem, ActionData::m_Player и ActionData::m_Target.