public void AddColShape(CollisionShape element)
        {
            switch (element)
            {
            case CollisionCircle collisionCircle:
                packet.AddColCircle(collisionCircle.Id, (byte)collisionCircle.ElementType, collisionCircle.Parent?.Id ?? 0, collisionCircle.Interior, collisionCircle.Dimension,
                                    null, collisionCircle.AreCollisionsEnabled, collisionCircle.IsCallPropagationEnabled, new CustomData(), collisionCircle.Name, collisionCircle.TimeContext,
                                    (byte)ColShapeType.Circle, collisionCircle.Position, collisionCircle.IsEnabled, collisionCircle.AutoCallEvent, collisionCircle.Radius
                                    );
                break;

            case CollisionCuboid collisionCuboid:
                packet.AddColCuboid(collisionCuboid.Id, (byte)collisionCuboid.ElementType, collisionCuboid.Parent?.Id ?? 0, collisionCuboid.Interior,
                                    collisionCuboid.Dimension, null, collisionCuboid.AreCollisionsEnabled, collisionCuboid.IsCallPropagationEnabled, new CustomData(),
                                    collisionCuboid.Name, collisionCuboid.TimeContext, (byte)ColShapeType.Cuboid, collisionCuboid.Position, collisionCuboid.IsEnabled,
                                    collisionCuboid.AutoCallEvent, collisionCuboid.Dimensions
                                    );
                break;

            case CollisionRectangle collisionRectangle:
                packet.AddColRectangle(collisionRectangle.Id, (byte)collisionRectangle.ElementType, collisionRectangle.Parent?.Id ?? 0, collisionRectangle.Interior,
                                       collisionRectangle.Dimension, null, collisionRectangle.AreCollisionsEnabled, collisionRectangle.IsCallPropagationEnabled, new CustomData(),
                                       collisionRectangle.Name, collisionRectangle.TimeContext, (byte)ColShapeType.Rectangle, collisionRectangle.Position, collisionRectangle.IsEnabled,
                                       collisionRectangle.AutoCallEvent, collisionRectangle.Dimensions
                                       );
                break;

            case CollisionSphere collisionShpere:
                packet.AddColSphere(collisionShpere.Id, (byte)collisionShpere.ElementType, collisionShpere.Parent?.Id ?? 0, collisionShpere.Interior, collisionShpere.Dimension,
                                    null, collisionShpere.AreCollisionsEnabled, collisionShpere.IsCallPropagationEnabled, new CustomData(), collisionShpere.Name, collisionShpere.TimeContext,
                                    (byte)ColShapeType.Sphere, collisionShpere.Position, collisionShpere.IsEnabled, collisionShpere.AutoCallEvent, collisionShpere.Radius
                                    );
                break;

            case CollisionTube collisionTube:
                packet.AddColTube(collisionTube.Id, (byte)collisionTube.ElementType, collisionTube.Parent?.Id ?? 0, collisionTube.Interior, collisionTube.Dimension,
                                  null, collisionTube.AreCollisionsEnabled, collisionTube.IsCallPropagationEnabled, new CustomData(), collisionTube.Name, collisionTube.TimeContext,
                                  (byte)ColShapeType.Tube, collisionTube.Position, collisionTube.IsEnabled, collisionTube.AutoCallEvent, collisionTube.Radius, collisionTube.Height
                                  );
                break;

            case CollisionPolygon collisionPolygon:
                packet.AddColPolygon(collisionPolygon.Id, (byte)collisionPolygon.ElementType, collisionPolygon.Parent?.Id ?? 0, collisionPolygon.Interior, collisionPolygon.Dimension,
                                     null, collisionPolygon.AreCollisionsEnabled, collisionPolygon.IsCallPropagationEnabled, new CustomData(), collisionPolygon.Name, collisionPolygon.TimeContext,
                                     (byte)ColShapeType.Polygon, collisionPolygon.Position, collisionPolygon.IsEnabled, collisionPolygon.AutoCallEvent, collisionPolygon.Vertices
                                     );
                break;
            }
        }