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); }