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);
        }
    }
Beispiel #2
0
    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);
            }
        }
    }
Beispiel #4
0
    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);
            }
        }
    }