static void VoxelPaintSphereSuccess(MySyncVoxel sync, ref PaintSphereMessage msg, MyNetworkClient sender) { m_sphereShape.Center = msg.Center; m_sphereShape.Radius = msg.Radius; var amountChanged = UpdateVoxelShape(sync, msg.Type, m_sphereShape, msg.Material); if (msg.Type == PaintType.Cut || msg.Type == PaintType.Fill) { MySession.Static.VoxelHandVolumeChanged += amountChanged; } }
public void RequestVoxelPaintSphere(Vector3D center, float radius, byte material, PaintType Type) { var msg = new PaintSphereMessage(); msg.EntityId = Entity.EntityId; msg.Center = center; msg.Radius = radius; msg.Type = Type; msg.Material = material; Sync.Layer.SendMessageToServer(ref msg, MyTransportMessageEnum.Request); }
static void VoxelPaintSphereRequest(MySyncVoxel sync, ref PaintSphereMessage msg, MyNetworkClient sender) { var voxel = sync.Entity as MyVoxelBase; if (voxel != null) { m_sphereShape.Center = msg.Center; m_sphereShape.Radius = msg.Radius; if (CanPlaceInArea(msg.Type, m_sphereShape)) { var amountChanged = UpdateVoxelShape(sync, msg.Type, m_sphereShape, msg.Material); if (msg.Type == PaintType.Cut || msg.Type == PaintType.Fill) { MySession.Static.VoxelHandVolumeChanged += amountChanged; } Sync.Layer.SendMessageToAll(ref msg, MyTransportMessageEnum.Success); } } }
static void VoxelPaintSphereRequest(MySyncVoxel sync, ref PaintSphereMessage msg, MyNetworkClient sender) { var voxel = sync.Entity as MyVoxelBase; if (voxel != null) { m_sphereShape.Center = msg.Center; m_sphereShape.Radius = msg.Radius; if (CanPlaceInArea(msg.Type, m_sphereShape)) { var amountChanged = UpdateVoxelShape(sync, msg.Type, m_sphereShape, msg.Material); if (msg.Type == PaintType.Cut || msg.Type == PaintType.Fill) MySession.Static.VoxelHandVolumeChanged += amountChanged; Sync.Layer.SendMessageToAll(ref msg, MyTransportMessageEnum.Success); } } }
static void VoxelPaintSphereSuccess(MySyncVoxel sync, ref PaintSphereMessage msg, MyNetworkClient sender) { m_sphereShape.Center = msg.Center; m_sphereShape.Radius = msg.Radius; var amountChanged = UpdateVoxelShape(sync, msg.Type, m_sphereShape, msg.Material); if (msg.Type == PaintType.Cut || msg.Type == PaintType.Fill) MySession.Static.VoxelHandVolumeChanged += amountChanged; }
public void RequestVoxelPaintSphere(Vector3D center, float radius, byte material,PaintType Type) { var msg = new PaintSphereMessage(); msg.EntityId = Entity.EntityId; msg.Center = center; msg.Radius = radius; msg.Type = Type; msg.Material = material; Sync.Layer.SendMessageToServer(ref msg, MyTransportMessageEnum.Request); }