<MudDataGrid T="EntityWeaponModel" Items="@_data"
             SortMode="SortMode.Multiple"
             Filterable="true"
             Hideable="true">
    <Columns>
        <PropertyColumn Property="x => x.Parent.GetName()" Title="Entity"/>
        <PropertyColumn Property="x => x.Range" Title="Range"/>
        <PropertyColumn Property="x => x.Targets" Title="Targets"/>
        <PropertyColumn Property="x => x.Damage" Title="Damage"/>
        <PropertyColumn Property="x => x.AttacksPerSecond" Title="Attacks Per Second"/>
        <PropertyColumn Property="x => x.DamagePerSecond()" Title="DPS"/>
        <PropertyColumn Property="x => x.HasSplash" Title="Has Splash"/>
        <PropertyColumn Property="x => x.DamagePerSecondLight()" Title="DPS (Light)"/>
        <PropertyColumn Property="x => x.DamagePerSecondMedium()" Title="DPS (Medium)"/>
        <PropertyColumn Property="x => x.DamagePerSecondHeavy()" Title="DPS (Heavy)"/>
        <PropertyColumn Property="x => x.Parent.GetFaction()" Title="Faction"/>
        <PropertyColumn Property="x => x.Parent.GetImmortal()" Title="Immortal"/>
    </Columns>
    <PagerContent>
        <MudDataGridPager T="EntityWeaponModel"/>
    </PagerContent>
</MudDataGrid>

@code {

    readonly IEnumerable<EntityWeaponModel> _data = EntityData.Get()
        .SelectMany(e => e.Value.EntityParts)
        .OfType<EntityWeaponModel>()
        .ToList();

}