public void Update(LayerModel layerModel, IDataModel dataModel, bool isPreview = false)
{
// Key press is always as large as the entire keyboard it is drawn for
layerModel.Properties.Width = _mainManager.DeviceManager.ActiveKeyboard.Width;
layerModel.Properties.Height = _mainManager.DeviceManager.ActiveKeyboard.Height;
layerModel.Properties.X = 0;
layerModel.Properties.Y = 0;
layerModel.Properties.Contain = true;
_layerModel = layerModel;
if (isPreview)
return;
lock (_keyPressLayers)
{
// Remove expired key presses
_keyPressLayers = _keyPressLayers.Where(k => !k.LayerAnimation.MustExpire(k)).ToList();
// Update the ones that are still active
foreach (var keyPressLayer in _keyPressLayers)
keyPressLayer.Update(null, false, true);
}
}