1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-16 19:33:01 +08:00
Commit Graph

289 Commits

Author SHA1 Message Date
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