private MethodReturnValue CheckAccess(Item item) { if (item.Disposed) { return(MethodReturnValue.New((int)ReturnCode.ItemNotFound, "ItemNotFound")); } if (((Item)item).GrantWriteAccess(this)) { return(MethodReturnValue.Ok); } return(MethodReturnValue.New((int)ReturnCode.ItemAccessDenied, "ItemAccessDenied")); }
/// <summary> /// Expects operation CreateWorld and adds a new World to the WorldCache. /// </summary> public OperationResponse OperationCreateWorld(PeerBase peer, OperationRequest request) { var operation = new CreateWorld(peer.Protocol, request); if (!operation.IsValid) { return(new OperationResponse(request.OperationCode) { ReturnCode = (int)ReturnCode.InvalidOperationParameter, DebugMessage = operation.GetErrorMessage() }); } World world; MethodReturnValue result = WorldCache.Instance.TryCreate( operation.WorldName, operation.BoundingBox, operation.TileDimensions, out world) ? MethodReturnValue.Ok : MethodReturnValue.New((int)ReturnCode.WorldAlreadyExists, "WorldAlreadyExists"); return(operation.GetOperationResponse(result)); }