Dean Herbert
ae4dcbd829
Improve PlayerLoader
audio and visual transitions
2021-10-13 13:26:20 +09:00
Dean Herbert
310d7965b6
Merge branch 'master' into more-filter-effects
2021-10-07 20:52:38 +09:00
Jamie Taylor
5c48340520
Add filter effect to beatmap loading
2021-10-07 17:55:21 +09:00
smoogipoo
081524b6c8
Privatise setters
2021-08-17 13:44:21 +09:00
Salman Ahmed
2ddf28346a
PlayerSettingsGroups -> PlayerSettings
2021-08-14 19:58:20 +03:00
Salman Ahmed
2b86416cb2
Hide player settings overlay on multi-spectator player loader
2021-08-13 06:35:16 +03:00
Dean Herbert
258d05d1e0
Ensure PlayerLoader
restores the background colour to its own value on resume
2021-06-09 17:17:39 +09:00
Dean Herbert
5b06a68b93
Merge pull request #12330 from Cublibre/master
...
Send a warning notification if device is unplugged and at low battery
2021-04-15 19:21:04 +09:00
Salman Ahmed
36510309d1
Merge EnableUserDim
and IgnoreUserSettings
to one bindable
2021-04-13 10:58:56 +03:00
Christine Chen
f66306a81a
Remove IsLowBattery
2021-04-12 11:15:24 -04:00
Christine Chen
43b97fe0ad
Refactor PowerStatus (now called BatteryInfo)
2021-04-12 10:52:52 -04:00
Christine Chen
08311abc5e
Remove setters, cache CreatePowerStatus() and use a dummy LocalPowerStatus class in test scene
2021-04-10 00:00:21 -04:00
Christine Chen
59d13b0dd3
Fixed indentation
...
sorry about the style fixes... I'm using JetBrains Rider from now on.
2021-04-08 21:53:42 -04:00
Christine Chen
493c095535
Fixed code style
2021-04-08 20:28:23 -04:00
Christine Chen
6bccb3aab6
Use DI to implement battery detection, add BatteryCutoff property
...
- Removed the Xamarin.Essentials package from osu.Game and added it to osu.iOS and osu.Android only.
- iOS and Android implementations use Xamarin.Essentials.Battery, while the Desktop implementation
only returns 100% battery for now.
- Added a BatteryCutoff property to PowerStatus so it can be different for each platform (default 20%, 25% on iOS)
2021-04-08 19:55:11 -04:00
Christine Chen
0a6baf670e
Send a warning notification if device is unplugged and low battery
...
- Uses Xamarin.Essentials in osu.Game.PlayerLoader to check battery level
- Encapsulated battery checking in the public BatteryManager class so battery level and plugged in status can be accessed and edited in TestPlayerLoader
- When checking battery level, catch NotImplementedException thrown by Xamarin.Essentials.Battery on non-mobile platforms
- Added visual unit tests for battery notification
To mock battery status and level, we had to define a batteryManager object in TestPlayerLoader and add a new function ResetPlayerWithBattery()
Co-Authored-By: Marlina José <marlina@umich.edu>
2021-04-07 15:56:50 -04:00
Dean Herbert
0c53b4eb93
Fix wrong counting and add test
2021-03-31 14:09:39 +09:00
Dean Herbert
e0c61f4dc5
Fix retry count not updating correctly
...
Regressed with changes to player reference retention logic. Could add a
test but the logic is so local now it seems quite redundant.
2021-03-31 13:57:58 +09:00
Dean Herbert
4fd8501c86
Remove unnecessary using (underlying enumerator change)
2021-02-26 20:03:03 +09:00
Dean Herbert
b3f08b29ca
Ensure that all changes to screen backgrounds are on the correct thread
2021-01-05 15:22:50 +09:00
Dean Herbert
0d7f53b0b9
Fix gameplay loading too fast the first time entering a beatmap
2020-12-14 14:21:21 +09:00
Dean Herbert
437c0506ce
Refactor to allow for special disposal handling to still work
2020-12-10 16:56:56 +09:00
Dean Herbert
67dd7be71a
Move cancelLoad call to OnResuming
...
This has no real effect; it just feels more readable to me.
2020-12-10 16:34:59 +09:00
Dean Herbert
491ab74059
Schedule pushWhenLoaded once ever
...
Previously it was being scheduled another time each OnResume, resulting
in more and more calls as a user retries the same beatmap multiple
times.
To simplify things I've decided to just schedule once ever. This means
that on resuming there's no 400ms delay any more, but in testing this
isn't really an issue (load time is still high enough that it will never
really be below that anyway). Even if gameplay was to load faster, the
animation should gracefully proceed.
2020-12-10 16:33:30 +09:00
Dean Herbert
cc996ec7fc
Ensure player is consumed at the point of scheduled push running the first time
2020-12-10 16:32:14 +09:00
Bartłomiej Dach
0542a45c43
Change to manual adjustment add/remove
2020-10-25 12:33:35 +01:00
Bartłomiej Dach
e101ba5cba
Move volume manipulations to player loader
2020-10-25 00:40:11 +02:00
Bartłomiej Dach
73174961f0
Rework animation sequence for readability
2020-10-24 22:30:08 +02:00
Dean Herbert
7a68636f71
Adjust fade sequence and durations to feel better
2020-10-20 15:03:33 +09:00
Dean Herbert
4e57751ca1
Fix background dim application to avoid overdraw, transition smoother
2020-10-20 15:03:12 +09:00
Bartłomiej Dach
fd4bab85cf
Merge branch 'master' into epilepsy-warning
2020-10-20 01:06:46 +02:00
Bartłomiej Dach
1fc22bdbff
Only show warning once on given map
2020-10-20 00:59:36 +02:00
Bartłomiej Dach
6e50ae0458
Reformulate push sequence code
2020-10-20 00:22:30 +02:00
Bartłomiej Dach
8505903041
Move warning construction to load()
2020-10-20 00:08:05 +02:00
Bartłomiej Dach
aeca61eb3e
Split warning to separate file
2020-10-19 23:48:02 +02:00
Bartłomiej Dach
44279ed347
Remove unused using directive
2020-10-19 23:46:09 +02:00
Salman Ahmed
6e4b28ed1e
Different version of epilepsy warning display
2020-10-20 00:32:44 +03:00
Dean Herbert
99bea6b8e9
Add missing null check (player construction is potentially delayed now)
2020-08-13 12:52:35 +09:00
Dean Herbert
27cd9e119a
Delay beatmap load until after transition has finished
...
Previously the beatmap would begin loading at the same time the
`PlayerLoader` class was. This can cause a horribly visible series of
stutters, especially when a storyboard is involved.
Obviously we should be aiming to reduce the stutters via changes to the
beatmap load process (such as incremental storyboard loading,
`DrawableHitObject` pooling, etc.) but this improves user experience
tenfold in the mean time.
2020-08-13 12:04:32 +09:00
alex
0e2ccac33b
Add spaces to comments
2020-05-04 18:36:24 -07:00
Dean Herbert
4d4ec3515d
Fix player loading sequence continuing even when a priority overlay is visible
2020-02-14 19:16:08 +09:00
Dean Herbert
2808f8167d
Use more regions
2020-02-14 18:28:58 +09:00
Dean Herbert
b69d1ad678
Reorder and clean up PlayerLoader
2020-02-14 18:22:57 +09:00
Dean Herbert
be30ef3cca
Move BeatmapMetadataDisplay to its own class
2020-02-14 18:13:52 +09:00
Bartłomiej Dach
f0fe3bc804
Pass bindable to BeatmapMetadataDisplay
...
It was reported that mods selected in song select would show up during
loading of replays which were recorded under a different set of mods.
This was caused by BeatmapMetadataDisplay accepting a plain read-only
value of the Mods bindable in PlayerLoader.load(), therefore making the
mod value assignment in ReplayPlayerLoader.OnEntering() have no effect
on that component.
To resolve this issue, make BeatmapMetadataDisplay accept the
higher-level bindable, bind to it locally and pass it down the hierarchy
to ModDisplay.
2020-01-08 20:10:43 +01:00
Bartłomiej Dach
a3f7d3c445
Add failing test
...
Add test case demonstrating the lack of update of the metadata display's
mods upon setting the Mods property in PlayerLoader.
2020-01-08 19:55:35 +01:00
Dean Herbert
ca862124a5
Fix replay import from main menu causing a hard crash
2019-12-27 19:36:48 +09:00
Dan Balasescu
54798b134e
Add accessibility modifiers
2019-12-08 03:16:41 +09:00
Dean Herbert
de23364608
Add failing test
2019-12-06 13:47:34 +09:00
smoogipoo
636913a4a6
Refactor PlayerLoader changes
2019-10-03 19:22:41 +09:00
Craftplacer
6929847b08
Remove redundant override
2019-10-02 17:22:34 +02:00
Craftplacer
5f399add82
Resolve @iiSaLMaN 's suggested changes
2019-10-01 18:15:40 +02:00
Craftplacer
2ac5e0bfa0
Make use of SessionStatics
2019-10-01 17:39:01 +02:00
Dean Herbert
f4f5a7e9c8
Fix test regressions
2019-09-27 13:20:17 +08:00
Dean Herbert
b50ef8ffa4
Allow null NotificationManager
2019-09-27 13:15:33 +08:00
Dean Herbert
f11156c2dc
Fix tests not working correctly
2019-09-25 19:30:25 +09:00
Craftplacer
c3221e1a36
Prepare classes for player loader test scene
2019-09-18 23:27:26 +02:00
Craftplacer
220fdd0a04
Make muteWarningShownOnce static
...
... so it will actually get an instance per osu session.
2019-09-16 06:56:52 +02:00
Craftplacer
ecce12981e
Use block body for constructor to fix remaining code inspection issue
2019-09-15 17:47:44 +02:00
Craftplacer
e3884658af
Resolve code inspection errors
2019-09-15 17:36:53 +02:00
Craftplacer
ec788ac09d
Make notification only show up once per session
2019-09-15 17:20:07 +02:00
Craftplacer
811a08d18f
Use Bindable instead of bool
2019-09-15 16:50:01 +02:00
Craftplacer
00e46fdefe
Add check if game is muted by MuteButton
2019-09-15 16:32:23 +02:00
Craftplacer
4a10e6c44e
Use ResolvedAttribute for NotificationOverlay
2019-09-15 16:11:45 +02:00
Craftplacer
78931c8e23
Implement notification when user has track or master volume muted
...
This took around under a hour to implement, it has the same behavior and content from osu!stable.
A notification will show up when the user has either its master or track volume set to the minimum, clicking it will set it to the default values.
2019-09-15 15:59:46 +02:00
Dean Herbert
b902457f8d
Allow PlayerLoader to proceed even if the mouse is hovering an overlay panel
2019-07-05 15:32:07 +09:00
Dean Herbert
7bc7df2249
Reduce background brightness at PlayerLoader
2019-06-25 17:22:10 +09:00
Dean Herbert
20b43c20c8
Rename variables to remove redundant "screen" terminology
2019-06-12 16:33:15 +09:00
Lucas A
a5f758b977
Merge remote-tracking branch 'upstream/master' into user-status-wiring
2019-05-07 18:27:14 +02:00
Lucas A
d5d31282e5
Rename InitialScreenStatus to InitialScreenActivity in Editor / Player classes
2019-05-05 20:55:42 +02:00
Lucas A
5d4aa5a12e
Add ScreenStatus property to change the OsuScreen's status + Renamed old ScreenStatus property to InitialScreenStatus
2019-05-02 20:51:19 +02:00
Lucas A
7e42068a14
Merge remote-tracking branch 'upstream/master' into user-status-wiring
2019-04-28 19:48:35 +02:00
Dean Herbert
5a9277ec0e
Merge branch 'master' into fix-retry-sound
2019-04-28 23:38:14 +09:00
Dean Herbert
a680a38e81
Merge pull request #4675 from nyquillerium/playerloader-tracking
...
Prevent PlayerLoader from tracking the logo after it has been exited.
2019-04-26 13:21:13 +09:00
smoogipoo
0bd35ab7bb
Turn on warnings, resolve issues
2019-04-25 17:36:17 +09:00
Dean Herbert
6fdcd98caa
Don't play screen "back" sample when retrying
2019-04-25 14:15:07 +09:00
David Zhao
8222923ab8
Only track logo if we're still the current screen
2019-04-24 16:20:51 +09:00
Lucas A
fe8c705f1b
Merge remote-tracking branch 'upstream/master' into user-status-wiring
2019-04-20 09:42:32 +02:00
smoogipoo
12b6bc48bd
Use .With() wherever possible
2019-04-17 17:24:09 +09:00
smoogipoo
09568be270
Merge remote-tracking branch 'origin/master' into facade-container
...
# Conflicts:
# osu.Game/Screens/Play/PlayerLoader.cs
2019-04-17 17:17:33 +09:00
Lucas A
5887008fb3
Merge branch 'master' into user-status-wiring
2019-04-15 11:43:53 +02:00
Lucas A
361c0ec9f2
Allow UserStatusSoloGame to provide metadata such as the ruleset the current beatmap is played in
2019-04-13 13:18:44 +02:00
smoogipoo
0222424aef
Make mods IReadOnlyList<Mod> gamewide
...
Prevents potential multiple evaluations of enumerable.
2019-04-10 17:20:36 +09:00
smoogipoo
4310f07a5c
Rename SelectedMods -> Mods
2019-04-10 12:03:57 +09:00
smoogipoo
c584967eb1
Remove mods from workingbeatmap
2019-04-09 12:59:32 +09:00
David Zhao
a690302d00
Apply reviews
2019-04-08 15:24:09 +09:00
David Zhao
7047f305a1
Apply reviews, add safety for multiple facades
2019-04-05 12:02:47 +09:00
David Zhao
b2857384b8
Remove unnecessary logo assignment
2019-04-04 12:08:05 +09:00
David Zhao
15b2b6af7d
Clean up remaining assignments of logo relativePositionAxes
2019-04-04 11:28:36 +09:00
David Zhao
8a40b27e8f
Remove need for logo relativePositionAxes none
2019-04-03 20:32:53 +09:00
David Zhao
2ed945605e
Fix Axes.None requirement for FacadeContainer
2019-04-03 19:57:22 +09:00
David Zhao
952a12bb19
Return logo relativepositionaxes on content out
2019-03-29 16:54:34 +09:00
David Zhao
9d66a5e4b2
Ensure logo stops tracking before suspend animation
2019-03-28 16:29:35 +09:00
David Zhao
039e451ab1
ensure logo is where it already needs to be on resume
2019-03-28 16:14:28 +09:00
David Zhao
bfe44eb33d
Remove SizeForFlow magic number
2019-03-28 15:40:58 +09:00
David Zhao
061527a260
Add new automated tests for logofacade, reset interpolation
2019-03-27 20:04:01 +09:00
David Zhao
2e3791be1c
Fix incorrect usage of LogoFacade
2019-03-27 18:11:12 +09:00
David Zhao
ca7a20585d
Apply reviews, delete playerloader test
2019-03-27 17:28:53 +09:00
David Zhao
384eee3395
Remove DI requirement for the Facade in PlayerLoader
2019-03-27 11:32:26 +09:00
David Zhao
3fe52be77f
Better tests, add documentation
2019-03-26 17:22:36 +09:00