mirror of
https://codeberg.org/demostf/frontend.git
synced 2026-06-04 02:34:13 +02:00
This commit is contained in:
parent
f80ae5b948
commit
bdc35d0907
16 changed files with 143 additions and 27 deletions
|
|
@ -1,4 +1,4 @@
|
|||
import {PlayerState, WorldBoundaries, Team} from "../Data/Parser";
|
||||
import {Class, PlayerState, SpyState, Team, WorldBoundaries} from "../Data/Parser";
|
||||
|
||||
export interface PlayerProp {
|
||||
player: PlayerState;
|
||||
|
|
@ -52,6 +52,9 @@ export function Player(props: PlayerProp) {
|
|||
const transform = () => `translate(${scaledX()} ${scaledY()}) scale(${1 / props.scale})`;
|
||||
const rotate = () => `rotate(${270 - props.player.angle})`;
|
||||
const filter = () => props.player.ubered ? ((props.player.team === Team.Red) ? 'url(#sofGlowRed)' : 'url(#sofGlowBlue)') : '';
|
||||
const circleStrokeStyle = () => props.player.playerClass === Class.Spy ? `${(props.player.class_data as SpyState).cloak} 100` : "none";
|
||||
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)}
|
||||
|
|
@ -61,7 +64,8 @@ export function Player(props: PlayerProp) {
|
|||
opacity={imageOpacity()}
|
||||
transform={rotate()}/>
|
||||
<circle r={16} stroke-width={props.highlighted ? 4 : 1.5} stroke="white"
|
||||
fill={teamColor()}
|
||||
stroke-dasharray={circleStrokeStyle()}
|
||||
fill={fill()}
|
||||
opacity={alpha()}
|
||||
filter={filter()}
|
||||
/>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue