Attempt to fix random test fail by undeleted AlertControl._spriteViewEntity (#29424)
This commit is contained in:
@@ -52,20 +52,12 @@ namespace Content.Client.UserInterface.Systems.Alerts.Controls
|
|||||||
TooltipSupplier = SupplyTooltip;
|
TooltipSupplier = SupplyTooltip;
|
||||||
Alert = alert;
|
Alert = alert;
|
||||||
_severity = severity;
|
_severity = severity;
|
||||||
|
|
||||||
_spriteViewEntity = _entityManager.Spawn(Alert.AlertViewEntity);
|
|
||||||
if (_entityManager.TryGetComponent<SpriteComponent>(_spriteViewEntity, out var sprite))
|
|
||||||
{
|
|
||||||
var icon = Alert.GetIcon(_severity);
|
|
||||||
if (sprite.LayerMapTryGet(AlertVisualLayers.Base, out var layer))
|
|
||||||
sprite.LayerSetSprite(layer, icon);
|
|
||||||
}
|
|
||||||
|
|
||||||
_icon = new SpriteView
|
_icon = new SpriteView
|
||||||
{
|
{
|
||||||
Scale = new Vector2(2, 2)
|
Scale = new Vector2(2, 2)
|
||||||
};
|
};
|
||||||
_icon.SetEntity(_spriteViewEntity);
|
|
||||||
|
SetupIcon();
|
||||||
|
|
||||||
Children.Add(_icon);
|
Children.Add(_icon);
|
||||||
_cooldownGraphic = new CooldownGraphic
|
_cooldownGraphic = new CooldownGraphic
|
||||||
@@ -113,6 +105,36 @@ namespace Content.Client.UserInterface.Systems.Alerts.Controls
|
|||||||
_cooldownGraphic.FromTime(Cooldown.Value.Start, Cooldown.Value.End);
|
_cooldownGraphic.FromTime(Cooldown.Value.Start, Cooldown.Value.End);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void SetupIcon()
|
||||||
|
{
|
||||||
|
if (!_entityManager.Deleted(_spriteViewEntity))
|
||||||
|
_entityManager.QueueDeleteEntity(_spriteViewEntity);
|
||||||
|
|
||||||
|
_spriteViewEntity = _entityManager.Spawn(Alert.AlertViewEntity);
|
||||||
|
if (_entityManager.TryGetComponent<SpriteComponent>(_spriteViewEntity, out var sprite))
|
||||||
|
{
|
||||||
|
var icon = Alert.GetIcon(_severity);
|
||||||
|
if (sprite.LayerMapTryGet(AlertVisualLayers.Base, out var layer))
|
||||||
|
sprite.LayerSetSprite(layer, icon);
|
||||||
|
}
|
||||||
|
|
||||||
|
_icon.SetEntity(_spriteViewEntity);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void EnteredTree()
|
||||||
|
{
|
||||||
|
base.EnteredTree();
|
||||||
|
SetupIcon();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void ExitedTree()
|
||||||
|
{
|
||||||
|
base.ExitedTree();
|
||||||
|
|
||||||
|
if (!_entityManager.Deleted(_spriteViewEntity))
|
||||||
|
_entityManager.QueueDeleteEntity(_spriteViewEntity);
|
||||||
|
}
|
||||||
|
|
||||||
protected override void Dispose(bool disposing)
|
protected override void Dispose(bool disposing)
|
||||||
{
|
{
|
||||||
base.Dispose(disposing);
|
base.Dispose(disposing);
|
||||||
|
|||||||
Reference in New Issue
Block a user