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

◆ MouseClick()

void PlayerContainer::MouseClick ( Widget w,
int x,
int y,
int button )
inlineprotected

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

238 {
239 SlotsIcon icon;
240 w.GetUserData(icon);
241
242 ItemBase selectedItem;
243 bool isReserved;
244
245 if (icon)
246 {
247 selectedItem = ItemBase.Cast(icon.GetEntity());
248 isReserved = icon.IsReserved();
249
250 }
251
252 if (selectedItem)
253 {
254 switch (button)
255 {
256 case MouseState.RIGHT:
257 #ifdef DIAG_DEVELOPER
258 if (GetDayZGame().IsLeftCtrlDown())
259 ShowActionMenu(selectedItem);
260 #endif
261
262 if (isReserved)
263 {
264 GetGame().GetPlayer().GetHumanInventory().ClearUserReservedLocationSynced(selectedItem);
265 m_Player.GetOnAttachmentReleaseLock().Invoke(selectedItem, icon.GetSlotID());
266 }
267 break;
268
269 case MouseState.MIDDLE:
270 if (!isReserved)
271 InspectItem(selectedItem);
272
273 break;
274
275 case MouseState.LEFT:
276 if (!isReserved)
277 {
278 PlayerBase controlledPlayer = PlayerBase.Cast(GetGame().GetPlayer());
279 if (g_Game.IsLeftCtrlDown())
280 {
281 if (controlledPlayer.CanDropEntity(selectedItem))
282 {
283 if (selectedItem.GetTargetQuantityMax() < selectedItem.GetQuantity())
284 selectedItem.SplitIntoStackMaxClient(null, -1);
285 else
286 controlledPlayer.PhysicalPredictiveDropItem(selectedItem);
287 }
288 }
289 else
290 {
291 bool draggable = !m_Player.GetInventory().HasInventoryReservation(selectedItem, null ) && !m_Player.GetInventory().IsInventoryLocked() && selectedItem.GetInventory().CanRemoveEntity() && !m_Player.IsItemsToDelete();
292 ItemManager.GetInstance().SetWidgetDraggable(w, draggable);
293 }
294 }
295 break;
296 }
297 }
298 }
DayZGame g_Game
Определения DayZGame.c:3868
DayZGame GetDayZGame()
Определения DayZGame.c:3870
class GP5GasMask extends MaskBase ItemBase
PlayerBase GetPlayer()
Определения ModifierBase.c:51
proto native DayZPlayer GetPlayer()
override bool InspectItem()
Определения PlayerContainer.c:492
PlayerBase m_Player
Определения PlayerContainer.c:7
EntityAI GetEntity()
Определения SlotsIcon.c:365
bool IsReserved()
Определения SlotsIcon.c:200
int GetSlotID()
Определения SlotsIcon.c:190
proto native CGame GetGame()
MouseState
Определения EnSystem.c:311

Перекрестные ссылки g_Game, GetDayZGame(), SlotsIcon::GetEntity(), GetGame(), ItemManager::GetInstance(), CGame::GetPlayer(), GetPlayer(), SlotsIcon::GetSlotID(), InspectItem(), SlotsIcon::IsReserved(), m_Player, ItemManager::SetWidgetDraggable(), x и y.