Repository navigation
Conversation
…s changes Previously eligibility for placement was only checked once at screen entry.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
RFC.
Currently,
ISerialisableDrawablehasosu/osu.Game/Skinning/ISerialisableDrawable.cs
Lines 25 to 28 in 18b71a2
The issue with it (other than that nothing actually ever used it) is that it allows for a very crude degree of control over the relevant component. You can do either everything or nothing to it. This diff allows controlling which specific operations apply to which component, as well as controlling whether a component can be placed alongside others.
That last possibility allows to implement singleton components (e.g. components which there should be never more than one of), or mutually exclusive components (if component A is present, then B cannot be). All of this is relevant for results screen work (#24996).
Aside from enforcement in skin editor via hiding all relevant controls, this also adds enforcement at skin deserialization / load time by ignoring impermissible changes made externally in
.jsonfiles.If wishing to test this outside of the provided test scenes, one can use
and then use the scene library in the skin editor to navigate to the current draft of new results to test.