private void ProcessFurther(GameObject player, GameObject item = null) { GameObject clientPlayer = player; PlayerNetworkActions pna = clientPlayer.GetComponent <PlayerNetworkActions>(); string slot = decodeSlot(Slot); if (!pna.ValidateInvInteraction(slot, item, ForceSlotUpdate)) { pna.RollbackPrediction(slot); } }
private void ProcessFurther(ConnectedPlayer player, GameObject item = null) { PlayerNetworkActions pna = player.Script.playerNetworkActions; if (string.IsNullOrEmpty(SlotUUID)) { //To drop if (!pna.ValidateDropItem(InventoryManager.GetSlotFromUUID(FromSlotUUID, true) , ForceSlotUpdate)) { pna.RollbackPrediction(SlotUUID, FromSlotUUID, item); } } else { if (!pna.ValidateInvInteraction(SlotUUID, FromSlotUUID, item, ForceSlotUpdate)) { pna.RollbackPrediction(SlotUUID, FromSlotUUID, item); } } }
private void ProcessFurther(GameObject player, GameObject item = null) { GameObject clientPlayer = player; PlayerNetworkActions pna = clientPlayer.GetComponent <PlayerNetworkActions>(); if (string.IsNullOrEmpty(SlotUUID)) { //To drop if (!pna.ValidateDropItem(InventoryManager.GetSlotFromUUID(FromSlotUUID, true) , ForceSlotUpdate)) { pna.RollbackPrediction(SlotUUID, FromSlotUUID, item); } } else { if (!pna.ValidateInvInteraction(SlotUUID, FromSlotUUID, item, ForceSlotUpdate)) { pna.RollbackPrediction(SlotUUID, FromSlotUUID, item); } } }
private void ProcessFurther(ConnectedPlayer player, GameObject item = null) { PlayerNetworkActions pna = player.Script.playerNetworkActions; if (string.IsNullOrEmpty(SlotUUID)) { //To drop if (!pna.ValidateDropItem(InventoryManager.GetSlotFromUUID(FromSlotUUID, true) , ForceSlotUpdate)) { //NOTE: There is currently no drop prediction, so nothing to roll back. //The below logic will cause desync to occur if invoked so removing it for now. //pna.RollbackPrediction(SlotUUID, FromSlotUUID, item); } } else { if (!pna.ValidateInvInteraction(SlotUUID, FromSlotUUID, item, ForceSlotUpdate)) { pna.RollbackPrediction(SlotUUID, FromSlotUUID, item); } } }