Commit Graph

61 Commits

Author SHA1 Message Date
1aa0e40f2f Add "Component" prefix to lookup naming 2022-11-09 17:46:43 +09:00
c908969d9b Rename ISkinComponent to ISkinLookup 2022-11-09 17:46:43 +09:00
bf26dbffc2 Apply nullability to skinning support classes 2022-11-09 13:59:13 +09:00
b4e55f7309 Apply IRenderer changes 2022-08-02 19:50:57 +09:00
31a447fda0 Update parameter discards 2022-06-24 21:26:19 +09:00
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
724b601d2a Rename AllowSampleLookup argument to something saner 2021-12-26 14:29:07 +01:00
d7cbacc5a0 Rename OnSourceChanged and expand on xmldoc to mention that it doesn't fire SourceChanged 2021-10-12 13:04:48 +09:00
a849e7343e Add lock to ensure no threading shenanigans 2021-10-12 13:04:24 +09:00
39a3482458 Replace Add/Reset methods with single Set method 2021-10-12 11:55:07 +09:00
df83f0db08 Fix cross-thread list manipulation in SkinProvidingContainer 2021-10-12 11:28:11 +09:00
1af230c48c Merge branch 'master' into refactor-combo-colour-retrieval 2021-07-20 10:08:25 +03:00
c18b8ca86c Add missing ToArray() call 2021-07-07 14:08:29 +09:00
ca791c2afa Remove unused using statement 2021-07-07 13:53:00 +09:00
35d4b12a4f Remove single local usage of AllSources 2021-07-07 13:52:52 +09:00
eb8b14a931 Reorder methods to make more sense 2021-07-07 13:51:51 +09:00
523546d8b6 Use List to guarantee lookup order 2021-07-06 22:51:56 +09:00
d75d67577a Fix regressed tests 2021-07-06 17:37:34 +09:00
cd4885e450 Add xmldoc and remove any question of how the intitial flow is being run 2021-07-06 17:18:45 +09:00
032c285ede Move private downwards 2021-07-06 17:07:29 +09:00
1232925f93 Make source manipulation methods protected 2021-07-06 17:06:00 +09:00
b4240d3ca4 Simplify lookups to avoid a second dictionary fetch 2021-07-06 17:04:59 +09:00
ec1224218c Localise source changed flow for better clarity 2021-07-06 16:57:19 +09:00
935fbe7cc6 Remove double fetch/binding of parent source 2021-07-06 16:51:29 +09:00
93ef783339 Remove BindableList usage 2021-07-06 16:40:23 +09:00
0ad189e357 Expose skin sources via ISkinSource and revert to consuming based on hierarchy 2021-06-22 16:19:55 +09:00
ebe0d43790 Add ability to disallow falling back to parent skins 2021-06-22 02:51:17 +03:00
8de0d33c5a Revert "Move collection change bind to LoadComplete"
This reverts commit d6d87e1975.

Actually that broke things due to the "disableable" instances not added early enough, revert for now.
2021-06-11 17:59:29 +03:00
d6d87e1975 Move collection change bind to LoadComplete
Best practice anyways
2021-06-11 17:35:33 +03:00
f20146d446 Fix potentially adding null skin sources 2021-06-11 12:58:38 +03:00
9e16359f18 Refactor disallowing in SkinProvidingContainer to become per source
Fixes `FindProvider` becoming completely broken, because of no way to perform the checks on one skin source.
2021-06-11 12:29:29 +03:00
8132852753 Add other affectable change action cases 2021-06-11 11:34:22 +03:00
a985e3b8d3 Apply documentation settings for better readability
Co-authored-by: Dean Herbert <pe@ppy.sh>
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2021-06-11 11:25:07 +03:00
2240e2c39c Refrain from attempting to clear skin sources in disposal
`Drawable.Dispose` is usually in an asynchronous context (async disposals stuff) and therefore this could cause a "collection was modified; enumeration opeartion may not execute" exception.
2021-06-10 17:23:16 +03:00
5c9c424a0d Switch state case placements for consistency
Tickled me.
2021-06-10 13:15:18 +03:00
59be3588eb Change SkinSources to a bindable list for binding SourceChanged events 2021-06-10 13:07:32 +03:00
dde84e5cbd Merge branch 'master' into transformers-per-skin 2021-06-10 11:58:52 +03:00
530026b675 Add simple xmldoc to ctors explaining their deal with SkinSources 2021-06-10 11:56:13 +03:00
18edbdd135 Remove mentioning of "layer" in skin providers
`SkinSources` sounds better.
2021-06-10 11:55:26 +03:00
6538d44708 Make SkinProvidingContainer able to perform lookup on multiple skins
Currently `protected` functionality for use in custom `SkinProvidingContainer`s, can be exposed to public constructors if it need to later on, but I'm not sure about doing that opposed to just nesting multiple `SkinProvidingContainer`.
2021-06-09 22:49:31 +03:00
2438c20d63 Fix SourceChanged not being correctly forwarded through LegacySkinTransformer 2021-06-09 17:56:07 +09:00
448e4e7ee5 Fix FindProvider calls on SkinProvidingContainer not considering disable flags
Closes #13394.
2021-06-09 16:19:04 +09:00
c0305343bc Fix FindProvider incorrectly returning LegacySkinTransformer itself 2021-06-07 23:23:44 +09:00
282c5a9177 Fix potential nullref in SkinProvidingContainer 2021-05-31 21:29:47 +09:00
88ed95e012 Add FindProvider lookup function 2021-05-31 21:29:47 +09:00
f95744170f Add skin config lookup for combo colours 2021-05-05 07:06:26 +03:00
00574a5288 Use ISample everywhere in Skin GetSample lookup path 2021-02-18 18:32:28 +09:00
de9d075f94 Initial sample + samplechannel rework 2021-01-19 17:11:40 +09:00
94fee8c31d Avoid doing a config lookup if initial conditional fails 2021-01-18 16:13:58 +09:00
0c01a3a685 Found a better solution than TValue type checking for additional beatmap colour settings. Added unit tests for Catch Beatmap Skin settings. 2021-01-14 23:30:24 -05:00