private void UpdateElementsOnScreen(float roll, float pitch, float yaw)
{
foreach (var evt in events)
{
var fe = evt.Key;
if (fe == null || fe.Bounds.Height == 0 || fe.Bounds.Width == 0) continue;
var element = events[fe];
if (element == null) continue;
var offset = world.CalculateOffset(element, (int) fe.Bounds.Width, (int) fe.Bounds.Height, roll, pitch, yaw);
fe.Hidden = true;
if (offset == null || element.Element == null) continue;
var tf = CGAffineTransform.MakeTranslation((float)offset.TranslateX, 0);
if (offset.Scale > 0)
{
tf.Scale((float)offset.Scale, (float)offset.Scale);
fe.Center = new CGPoint(0, View.Bounds.Height / 2);
fe.Transform = tf;
fe.Hidden = false;
}
}
}