ui/MessageContainerPanel.razor
@using Sandbox;
@using Sandbox.UI;
@inherits Panel
@attribute [StyleSheet("MessageContainerPanel.razor.scss")]
<root>
@{
int count = 0;
}
@foreach(var item in Manager.Instance.EventMessageStack)
{
var eventHandler = item.Item1;
var eventType = item.Item2;
var message = eventHandler.GetEventText(eventType);
var depthClass = $"depth-{count}";
if(eventHandler is Card card)
{
@<MessagePanel class=@depthClass Message=@message DepthNum=@count [email protected](card.OriginalCardType) [email protected]></MessagePanel>
}
else if(eventHandler is Relic relic)
{
<MessagePanel class=@depthClass Message=@message DepthNum=@count [email protected](relic.RelicType) [email protected]></MessagePanel>
}
else if(eventHandler is StatusEffect status)
{
<MessagePanel class=@depthClass Message=@message DepthNum=@count [email protected](eventType) StatusEffect=@status></MessagePanel>
}
count++;
}
</root>
@code
{
protected override int BuildHash()
{
return HashCode.Combine(
Manager.Instance.EventMessageHash
// Time.Now
);
}
}