public void Cmd_RequestMoveAuto(RequestMoveAutoMessage data) { logger.LogVerbose($"[Server] Client requested to move an item from {data.fromIndex} to auto. slot from collection {data.collectionGuid} to {data.toCollectionGuid}", bridge); ICollection fromCol, toCol; var error = inputValidator.ValidateMoveAuto(bridge.identity, data, out fromCol, out toCol).error; if (error == null) { error = fromCol.MoveAuto(data.fromIndex, toCol, data.amount).error; } HandleError(error); }
public Result <bool> ValidateMoveAuto(NetworkIdentity identity, RequestMoveAutoMessage data, out ICollection fromOut, out ICollection toOut) { fromOut = null; toOut = null; if (CheckGuidBytes(data.collectionGuid.bytes) == false || CheckGuidBytes(data.toCollectionGuid.bytes) == false) { return(Failed()); } if (CheckCollectionPermission(identity, data.collectionGuid, data.toCollectionGuid, out fromOut, out toOut) == false) { return(Failed()); } if (CheckClamped(data.fromIndex, 0, fromOut.slotCount - 1) == false || CheckClamped(data.amount, 1, fromOut.GetAmount(data.fromIndex)) == false) { return(Failed()); } return(true); }