import {BuildingDestroyedEvent, Event, Kill, PlayerState} from "../Data/Parser";
import {killAlias} from "./killAlias";
import {For, Show} from "solid-js";
export interface KillFeedProps {
events: Event[],
tick: number;
players: PlayerState[];
}
export function KillFeed(props: KillFeedProps) {
const {events} = props;
const relevantEvents = () => events.filter(event => event.tick <= props.tick && event.tick >= (props.tick - 30 * 10));
return
}
export const teamMap = {
0: 'unknown',
2: 'red',
3: 'blue'
};
interface KillFeedItemProps {
event: Event;
players: PlayerState[];
}
export function KillFeedItem(props: KillFeedItemProps) {
return <>
>
}
interface KillFeedKillItemProps {
kill: Kill;
players: PlayerState[];
}
export function KillFeedKillItem(props: KillFeedKillItemProps) {
const attacker = getPlayer(props.players, props.kill.attacker);
const assister = getPlayer(props.players, props.kill.assister);
let victim = getPlayer(props.players, props.kill.victim);
return
}
interface KillFeedDestroyedItemProps {
event: BuildingDestroyedEvent;
players: PlayerState[];
}
export function KillFeedDestroyedItem(props: KillFeedDestroyedItemProps) {
const attacker = getPlayer(props.players, props.event.attacker_id);
const assister = getPlayer(props.players, props.event.assister_id);
let victim = getPlayer(props.players, props.event.victim_id);
return
({props.event.building_type})
}
interface KillIconProps {
kill: Kill | BuildingDestroyedEvent;
}
export function KillIcon(props: KillIconProps) {
const alias = killAlias[props.kill.weapon] ? killAlias[props.kill.weapon] : props.kill.weapon;
let killIcon;
try {
killIcon = `/images/kill_icons/${alias}.png`;
} catch (e) {
console.log(alias);
killIcon = `/images/kill_icons/skull.png`;
}
return
}
interface PlayerNameProps {
player: PlayerState | null
}
export function PlayerName(props: PlayerNameProps) {
return
{props.player.info.name}
}
interface PlayerNamesProps {
players: (PlayerState | null)[]
}
export function PlayerNames(props: PlayerNamesProps) {
return {(player, i) => <>
0 && player}>
+
>}
}
export function getPlayer(players: PlayerState[], entityId: number): PlayerState | null {
return players.find(player => player.info.userId == entityId);
}