@if (Entity!.IdAbilities().Count > 0)
{
    @if (StyleType.Equals("Plain"))
    {
        @foreach (var idAbility in Entity.IdAbilities())
        {
            var spell = EntityModel.Get(idAbility.Id);

            var info = spell.Info();
            var production = spell.Production();

            <div>
                <div>
                    <b>Ability Name:</b> @spell.Info().Name
                </div>
                <div>
                    <b>- Description:</b> @((MarkupString)info.Description)
                </div>

                @if (!info.Notes.Trim().Equals(""))
                {
                    <div>
                        <b>- Notes:</b> @((MarkupString)info.Notes)
                    </div>
                }

                <div>
                    @if (production != null)
                    {
                        if (production.Energy != 0)
                        {
                            <div>
                                <b>- Energy: </b> @production.Energy
                            </div>
                        }

                        @if (!production.DefensiveLayer.Equals(0))
                        {
                            <div>
                                <b>- Shields:</b> @production.DefensiveLayer
                            </div>
                        }

                        if (production.BuildTime != 0)
                        {
                            <div>
                                <b>- BuildTime: </b> @production.BuildTime
                            </div>
                        }

                        if (production.Cooldown != 0)
                        {
                            <div>
                                <b>- Cooldown: </b> @production.Cooldown
                            </div>
                        }
                    }
                </div>
            </div>
        }
    }
    else
    {
        <EntityDisplayComponent Title="Abilities">
            @foreach (var idAbility in Entity.IdAbilities())
            {
                var spell = EntityModel.Get(idAbility.Id);

                var info = spell.Info();
                var production = spell.Production();

                <div>
                    <div>
                        <b>Name:</b>
                        <EntityLabelComponent EntityId="@spell.DataType"/>
                    </div>
                    <div>
                        <b>Description:</b> @((MarkupString)info.Description)
                    </div>

                    @if (!info.Notes.Trim().Equals(""))
                    {
                        <div>
                            <b>Notes:</b> @((MarkupString)info.Notes)
                        </div>
                    }

                    <div>
                        @if (production != null)
                        {
                            if (production.Energy != 0)
                            {
                                <div>
                                    <b> Energy: </b> @production.Energy
                                </div>
                            }

                            @if (!production.DefensiveLayer.Equals(0))
                            {
                                <div>
                                    <b>Shields:</b> @production.DefensiveLayer
                                </div>
                            }

                            if (production.BuildTime != 0)
                            {
                                <div>
                                    <b> BuildTime: </b> @production.BuildTime
                                </div>
                            }

                            if (production.Cooldown != 0)
                            {
                                <div>
                                    <b> Cooldown: </b> @production.Cooldown
                                </div>
                            }
                        }
                    </div>
                </div>
            }
        </EntityDisplayComponent>
    }
}


@code {

    [CascadingParameter] public EntityModel? Entity { get; set; }

    [CascadingParameter] public string StyleType { get; set; } = "Detailed";


}