mirror of
https://codeberg.org/demostf/frontend.git
synced 2026-06-03 18:24:12 +02:00
fix interval per tickOM
This commit is contained in:
parent
e94f0474ef
commit
7a2f4d1af0
4 changed files with 11 additions and 8 deletions
|
|
@ -4,22 +4,22 @@ import {throttle, debounce} from 'throttle-debounce';
|
||||||
import {Timeline} from './Render/Timeline';
|
import {Timeline} from './Render/Timeline';
|
||||||
import {SpecHUD} from './Render/SpecHUD';
|
import {SpecHUD} from './Render/SpecHUD';
|
||||||
import {AnalyseMenu} from './AnalyseMenu'
|
import {AnalyseMenu} from './AnalyseMenu'
|
||||||
import {Header, WorldBoundaries} from "./Data/Parser";
|
|
||||||
|
|
||||||
import {AsyncParser} from "./Data/AsyncParser";
|
import {AsyncParser} from "./Data/AsyncParser";
|
||||||
import {getMapBoundaries} from "./MapBoundries";
|
import {getMapBoundaries} from "./MapBoundries";
|
||||||
import {createEffect, createSignal} from "solid-js";
|
import {createSignal} from "solid-js";
|
||||||
import {Session, StateUpdate} from "./Session";
|
import {Session, StateUpdate} from "./Session";
|
||||||
|
import {DemoHead} from "../../header";
|
||||||
|
|
||||||
export interface AnalyseProps {
|
export interface AnalyseProps {
|
||||||
header: Header;
|
header: DemoHead;
|
||||||
isStored: boolean;
|
isStored: boolean;
|
||||||
parser: AsyncParser;
|
parser: AsyncParser;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const Analyser = (props: AnalyseProps) => {
|
export const Analyser = (props: AnalyseProps) => {
|
||||||
const parser = props.parser;
|
const parser = props.parser;
|
||||||
const intervalPerTick = props.header.interval_per_tick;
|
const intervalPerTick = props.header.duration / props.header.ticks;
|
||||||
|
|
||||||
const [tick, setTick] = createSignal<number>(0);
|
const [tick, setTick] = createSignal<number>(0);
|
||||||
const [scale, setScale] = createSignal<number>(1);
|
const [scale, setScale] = createSignal<number>(1);
|
||||||
|
|
@ -136,6 +136,10 @@ export const Analyser = (props: AnalyseProps) => {
|
||||||
const disabled = session && !session.isOwner();
|
const disabled = session && !session.isOwner();
|
||||||
const isShared = () => sessionName() !== '';
|
const isShared = () => sessionName() !== '';
|
||||||
|
|
||||||
|
console.log(intervalPerTick);
|
||||||
|
|
||||||
|
const timeTitle = () => `${tickToTime(tick(), intervalPerTick)} (tick ${tick()})`;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<div class="map-holder">
|
<div class="map-holder">
|
||||||
|
|
@ -163,7 +167,7 @@ export const Analyser = (props: AnalyseProps) => {
|
||||||
players={players()} kills={kills}/>
|
players={players()} kills={kills}/>
|
||||||
</div>
|
</div>
|
||||||
<div class="time-control"
|
<div class="time-control"
|
||||||
title={`${tickToTime(tick(), intervalPerTick)} (tick ${tick()})`}>
|
title={timeTitle()}>
|
||||||
<input class="play-pause-button" type="button"
|
<input class="play-pause-button" type="button"
|
||||||
value={playButtonText()}
|
value={playButtonText()}
|
||||||
disabled={disabled}
|
disabled={disabled}
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,6 @@ export const MapContainer = (props: ParentProps<MapContainerProps>) => {
|
||||||
}
|
}
|
||||||
createEffect(() => {
|
createEffect(() => {
|
||||||
const s = scale();
|
const s = scale();
|
||||||
console.log(s)
|
|
||||||
if (isFinite(s)) {
|
if (isFinite(s)) {
|
||||||
props.onScale && props.onScale(s);
|
props.onScale && props.onScale(s);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,12 +8,13 @@ export interface TimelineProps {
|
||||||
}
|
}
|
||||||
|
|
||||||
export const Timeline = ({parser, tick, onSetTick, disabled}) => {
|
export const Timeline = ({parser, tick, onSetTick, disabled}) => {
|
||||||
|
const background = <TimeLineBackground parser={parser}/>;
|
||||||
return <div class="timeline">
|
return <div class="timeline">
|
||||||
<input max={parser.demo.tickCount} value={tick} class="timeline-progress" type="range" min={0}
|
<input max={parser.demo.tickCount} value={tick} class="timeline-progress" type="range" min={0}
|
||||||
onChange={(event) => {onSetTick(parseInt(event.target.value, 10))}}
|
onChange={(event) => {onSetTick(parseInt(event.target.value, 10))}}
|
||||||
disabled={disabled}
|
disabled={disabled}
|
||||||
/>
|
/>
|
||||||
<TimeLineBackground parser={parser}/>
|
{background}
|
||||||
</div>;
|
</div>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,6 @@ export const Panner = (props: ParentProps<PannerProps>) => {
|
||||||
});
|
});
|
||||||
|
|
||||||
const pannerStyle = () => {
|
const pannerStyle = () => {
|
||||||
console.log(props.width, props.height, props.scale);
|
|
||||||
return {width: `${props.width}px`, height: `${props.height}px`}
|
return {width: `${props.width}px`, height: `${props.height}px`}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue