1
0
mirror of https://github.com/lexogrine/dota2-react-hud.git synced 2026-05-04 04:23:10 +02:00
Files
dota2-react-hud/src/HUD/GameHUD/Game.tsx
T
Hubert Walczak 34fe3ab977 removed assets
2023-05-16 14:09:26 +02:00

42 lines
1.9 KiB
TypeScript

import React from 'react';
import { Draft, Team, Faction, Player, TeamDraft } from 'dotagsi';
import { apiUrl, getAssetURL } from '../../api/api';
import CameraContainer from '../Camera/Container';
const ObservedPlayer = ({ players, player, team, show}: { show: boolean, player: Player | null, players: Player[], team: Team | null }) => {
const getPlayerById = (id: number) => {
return players.find(player => player.id === id);
}
return <>
{ player ? <div className={`player_container ${player.team_name} ${!show ? 'hide':''}`}>
<div className="player_info">
<div className="team_box">
<div className={`${player.team_name} team_bar`}></div>
<div className="team_logo">
{team && team.id && team.logo ? <img src={`${apiUrl}api/teams/logo/${team.id}`} /> : null}
</div>
</div>
<div className="username shadowed-text">{player.name} { player.kills ? <div className="player_kills">
{
player.kill_list.map(killEntry => {
const victim = getPlayerById(killEntry.victimid);
if(!victim || !victim.hero || !victim.hero.name) return null;
return (
<div className="player_kill" style={{ backgroundImage: `url('${getAssetURL(victim.hero.name, 'heroes_icons')}')` }}>X{killEntry.amount}</div>
);
})
}</div> : null}
</div>
</div>
<div className="player_picture">
<CameraContainer observedSteamid={player.steamid} />
{player.avatar ? <img src={player.avatar} /> : null}
</div>
</div> : null}
</>
}
export default ObservedPlayer;