mirror of
https://codeberg.org/demostf/frontend.git
synced 2026-06-04 02:34:13 +02:00
This commit is contained in:
parent
812f3cdd0e
commit
d33a8df45d
5 changed files with 99 additions and 17 deletions
|
|
@ -10,6 +10,7 @@ export interface PlayerProp {
|
|||
scale: number;
|
||||
onHover: (userId: number) => void;
|
||||
highlighted: boolean;
|
||||
players: PlayerState[];
|
||||
}
|
||||
|
||||
const healthMap = {
|
||||
|
|
@ -65,21 +66,22 @@ export function Player(props: PlayerProp) {
|
|||
const teamHatch = () => (props.player.team === Team.Red) ? `url(#diagonalHatchRed)` : `url(#diagonalHatchBlue)`
|
||||
const fill = () => props.player.cloaked ? teamHatch() : teamColor();
|
||||
|
||||
return <g
|
||||
onmouseover={() => props.onHover(props.player.info.userId)}
|
||||
onmouseout={() => props.onHover(0)}
|
||||
transform={transform()}>
|
||||
<polygon points="-6,14 0, 16 6,14 0,24" fill="white"
|
||||
opacity={imageOpacity()}
|
||||
transform={rotate()}/>
|
||||
<circle r={16} stroke-width={props.highlighted ? 4 : 1.5} stroke="white"
|
||||
stroke-dasharray={circleStrokeStyle()}
|
||||
fill={fill()}
|
||||
opacity={alpha()}
|
||||
filter={filter()}
|
||||
/>
|
||||
{getClassImage(props.player, imageOpacity())}
|
||||
</g>
|
||||
return (
|
||||
<g
|
||||
onmouseover={() => props.onHover(props.player.info.userId)}
|
||||
onmouseout={() => props.onHover(0)}
|
||||
transform={transform()}>
|
||||
<polygon points="-6,14 0, 16 6,14 0,24" fill="white"
|
||||
opacity={imageOpacity()}
|
||||
transform={rotate()}/>
|
||||
<circle r={16} stroke-width={props.highlighted ? 4 : 1.5} stroke="white"
|
||||
stroke-dasharray={circleStrokeStyle()}
|
||||
fill={fill()}
|
||||
opacity={alpha()}
|
||||
filter={filter()}
|
||||
/>
|
||||
{getClassImage(props.player, imageOpacity())}
|
||||
</g>)
|
||||
}
|
||||
|
||||
function getClassImage(player: PlayerState, imageOpacity: number) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue