public static float3 GetColorForObstacle(CustomSpawnedObjectData data)
 {
     if (data.Color.w != 0)
     {
         return(data.Color.xyz);
     }
     else
     {
         return(new float3(1, 0, 0));
     }
 }
        public static TransformData ConvertTransform(TransformData transformData, CustomSpawnedObjectData customData, float jumpSpeed, float secondEquivalentOfBeat, float3 lineOffset)
        {
            if (customData.NoteJumpSpeed == null)
            {
                transformData.Speed = jumpSpeed;
            }
            else
            {
                transformData.Speed = (float)customData.NoteJumpSpeed;
            }

            if (customData.Scale.w != 0)
            {
                transformData.Scale = new float4x4
                {
                    c0 = new float4(customData.Scale.x * lineOffset.x, 0, 0, 0),
                    c1 = new float4(0, customData.Scale.y * lineOffset.y, 0, 0),
                    c2 = new float4(0, 0, PlacementHelper.ConvertDurationToZScale(customData.Scale.z, jumpSpeed, secondEquivalentOfBeat), 0),
                    c3 = new float4(0, 0, 0, 1)
                };
            }
            if (customData.LocalRotation.w != 0)
            {
                transformData.LocalRotation = Quaternion.Euler(customData.LocalRotation.xyz);
            }
            if (customData.WorldRotation != 0)
            {
                transformData.WorldRotation = customData.WorldRotation;
            }
            if (customData.Position.w != 0)
            {
                transformData.Position = PlacementHelper.GetVanillaPosition(customData.Position.x, customData.Position.y, lineOffset);
            }

            return(transformData);
        }