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