e6b669db8e
Elaborate with example of GameplayClockContainer
managing its own Stop
state
2022-08-22 14:14:44 +09:00
af2e82d7d5
Move operation of setting GameplayClockContainer.StartTime
to Reset
call
2022-08-22 14:11:06 +09:00
5cf54a788a
Code cleanup for CPS counter
2022-08-21 16:00:58 +02:00
189a407cb1
Merge branch 'master' into ruleset-localization
2022-08-20 21:39:10 -04:00
8566e93c72
Guard against SubmittingPlayer
potentially getting stuck waiting on request forever
2022-08-20 17:19:17 +09:00
da407aa827
Merge branch 'master' into kps
2022-08-20 15:24:58 +09:00
7bf318541c
Reword comment to hopefully read better
2022-08-19 20:57:55 +09:00
3f0da14065
Delay start operation by one frame to allow children to see initial start time
2022-08-19 17:39:51 +09:00
3eb1cda6aa
Reorganise call order of Start
/ Reset
to make more sense
2022-08-19 01:46:36 +09:00
3de35a1518
Update calculator and tests to match changes on clocks
2022-08-18 18:40:02 +02:00
1d774f3f12
Remove redundant ProcessFrame
calls
...
Of note, I'm not sure whether the `IsPaused` check was meaningful, but
it's not reimplemented in the new `FramedBeatmapClock`.
2022-08-19 01:39:02 +09:00
7bc96431a7
Remove unnecessary virtual
spec from GameplayClockContainer.Seek
2022-08-19 01:39:01 +09:00
43879633db
Ensure setting a StartTime
on a GameplayClockContainer
always resets to the new time
2022-08-18 18:54:10 +09:00
343efa1d11
Split OffsetCorrectionClock
out of MasterGameplayClockContainer
2022-08-18 18:54:10 +09:00
2c6fd1ec6e
Fix `GameplayClockContainer potentially resetting external seeks
2022-08-18 18:54:10 +09:00
6003afafc7
Use FramedBeatmapClock
in GameplayClockContainer
2022-08-18 18:54:10 +09:00
9735728cf6
Reverse conditionals to better define intent in addSourceClockAdjustments
2022-08-18 15:08:09 +09:00
20256aad11
Merge branch 'master' into no-gameplay-clock
2022-08-17 15:21:20 +09:00
63819648df
Fix up flow of actual skip operation
2022-08-16 14:40:02 +09:00
9a1a7bae89
Make test actually test things
2022-08-16 14:40:02 +09:00
6761f869f9
Modify flow to avoid weird bindable and value resetting
2022-08-16 14:17:35 +09:00
c9baadcf88
Merge branch 'master' into improve_retry_behaviour
2022-08-16 13:06:04 +09:00
61a8873266
Ensure GameplayClockContainer
's FramedClock
is always non-null
2022-08-15 20:22:36 +09:00
1696a905ba
Reduce exposed properties in GameplayClockContainer
2022-08-15 20:22:36 +09:00
704568ae3b
Remove remaining usage of GameplayClock
2022-08-15 20:22:36 +09:00
27569e2ed5
Remove FrameStableClock
(and redirect usages to FrameStabilityContainer
)
2022-08-15 19:19:19 +09:00
cc982d374c
Cache self rather than GameplayClock
2022-08-15 18:30:53 +09:00
c5f8529d20
Mark unused methods as NotImplemented
for safety
2022-08-15 18:30:53 +09:00
f81c7644b4
Make GameplayClockContainer
also an IGameplayClock
and expose to remaining tests
2022-08-15 18:30:53 +09:00
c8764cb333
Move all usage of GameplayClock
to IGameplayClock
2022-08-15 18:30:53 +09:00
6d78218142
Update usages of GameplayClockContainer.GameplayClock
to access properties directly
2022-08-15 18:08:49 +09:00
224f3eaa84
Make GameplayClockContainer
non-abstract
and use in MultiSpectatorPlayer
2022-08-15 18:08:49 +09:00
623e90a7b2
Fix div-by-zero in SongProgress
when no object duration could be calculated
2022-08-15 15:05:35 +09:00
2aa3a1b50d
Rename all "KeysPerSecond" usages to "ClicksPerSecond"
2022-08-14 20:12:11 +02:00
9dc806506e
Make ActionListener
and KeysPerSecondCalculator
not rely on events to add timestamps
2022-08-14 19:31:14 +02:00
d5f10cbb9d
Revert 787dee24
and initialize calculator in HUDOverlay
2022-08-14 18:53:00 +02:00
e08f71797e
Change displayed metric from "KPS" to "clicks/s"
2022-08-13 04:27:26 +02:00
9b252b1d81
Make KeysPerSecondCalculator
dependency in HUDOverlay
nullable
2022-08-11 11:58:30 +02:00
d29cba80e9
Remove useless comment in KeysPerSecondCounter
2022-08-11 11:01:16 +02:00
787dee249d
Move KeysPerSecondCalculator
instantiation from HUDOverlay
to Player
...
This prevents messing with *future* Skin (de)serialization
2022-08-11 10:37:16 +02:00
3c6461b9e4
Remove KPS acronym usage
2022-08-11 10:01:39 +02:00
0a94fb4039
Make KPS counter strictly depending only on KPS calculator
...
`KeysPerSecondCounter` now depends on `KeysPerSecondCalculator` via the
`BackgroundDependencyLoaderAttribute` method, making it appear only in a
gameplay context without requiring `GameplayClock` without using it.
2022-08-11 00:46:39 +02:00
46e372cb99
Add more readiness checks in KeysPerSecondCalculator
2022-08-11 00:43:15 +02:00
9e80d3f71c
Re-adjust timespan conditions in KeysPerSecondCalculator
2022-08-11 00:42:22 +02:00
8cb2e11766
Change most ruleset-accessible string types to Localisable strings
2022-08-10 15:51:11 -04:00
a5081826b7
Handle cancellation at more points during Player
initialisation
...
As discussed in discord, this will help avoid null references during
cancellation which can otherwise be quite confusing to debug.
2022-08-09 23:25:19 +09:00
b52a07c16a
Use DI to provide dependencies for KPS Calculator and improve input
...
gathering
KPS Calculator now uses DI to retrieve the clocks. Using `HUDOverlay` it
is now cached for `KeysPerSecondCounter`s to resolve it. This also
allows to make an "Attach" flow like `KeyCounter`.
2022-08-08 21:54:06 +02:00
0afa3a5ec8
Fix xml doc
2022-08-08 21:20:09 +02:00
f6e65cf1af
Improve implementation
2022-08-08 20:53:05 +02:00
fac2596eee
Change type from BindableBool to IBindable<bool>
2022-08-08 13:38:52 +02:00