public static ResourceProviderDTO ToDto(ResourceProvider resProv) { var resProvDto = new ResourceProviderDTO( resProv.Id, resProv.Quantity, resProv.ResourceType, resProv.Position.X, resProv.Position.Y, resProv.Position.Z, resProv.Rotation.X, resProv.Rotation.Y, resProv.Rotation.Z, resProv.Scale, resProv.Weight, resProv.OwnerId); switch (resProv.GetType().Name) { case "Tree": resProvDto.Type = ResourceProviderDTO.ProviderType.Tree; break; } return(resProvDto); }
private void UpdateResourceProvider(Client client, ResourceProviderDTO resProv, ResourceProviderDTO changedResProv) { try { resProv.Quantity = changedResProv.Quantity; if (resProv.Depleted) { this.server.Context.Entry(resProv).State = EntityState.Deleted; this.server.Players[client.Id].ResourceProviders.Remove(resProv); this.server.Players[client.Id].ResProvMap.Remove(resProv.Id); return; } resProv.PosX = changedResProv.PosX; resProv.PosY = changedResProv.PosY; resProv.PosZ = changedResProv.PosZ; resProv.RotX = changedResProv.RotX; resProv.RotY = changedResProv.RotY; resProv.RotZ = changedResProv.RotZ; } catch { } }
public static ResourceProvider FromDto(ResourceProviderDTO resProvDto) { switch (resProvDto.Type) { case ResourceProviderDTO.ProviderType.Tree: Vector3 pos = new Vector3(resProvDto.PosX, resProvDto.PosY, resProvDto.PosZ); Vector3 rotEuler = new Vector3(resProvDto.RotX, resProvDto.RotY, resProvDto.RotZ); Quaternion rot = rotEuler.ToQuaternion(); return(new Tree(resProvDto.Id, resProvDto.OwnerId, pos, rot, resProvDto.Weight, resProvDto.Scale, resProvDto.Quantity)); default: return(null); } }