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); }