Commit Graph

69 Commits

Author SHA1 Message Date
Dan Balasescu
2b59f76b2d
Merge pull request #17596 from peppy/skin-editor-sprites
Allow importing sprites into a skin via drag-and-drop
2022-04-05 17:38:58 +09:00
Dean Herbert
d1be229d74 Combine SkinSprite into SkinnableSprite 2022-04-01 16:01:33 +09:00
Dean Herbert
762de3cc97 Replace invalidation logic with local realm notification subscription 2022-04-01 16:01:33 +09:00
Dean Herbert
9c3dad9fbf Add proof of concept flow to ensure RealmBackedResourceStore is invalidated on realm file changes
I'm not at all happy with this, but it does work so let's go with it for
now.
2022-04-01 16:01:33 +09:00
Dean Herbert
01829cf2d8 Move SkinnableInfo error handling to lower level
Handling was recently added to handle the usage in
`Skin.GetDrawableCompoent`, but it turns out this is also required for
`DrawableExtensions.ApplySkinnableInfo` which can throw in a similar
fashion.

Found while working on sprite support for the editor, where this becomes
an actual issue (ie. switching to a branch where the new sprite support
is not present can cause unexpected crashes).
2022-04-01 14:30:04 +09:00
Dan Balasescu
6c172bac3c
Merge pull request #17448 from peppy/fix-skin-component-crash-on-instantiation-failure
Avoid crashing if a skin component cannot be instantiated correctly
2022-03-25 19:41:52 +09:00
Dean Herbert
a0a3bba46e Avoid crashing if a skin component cannot be instantiated correctly 2022-03-25 18:31:26 +09:00
Dan Balasescu
23c4f9910e Apply notnull constraint 2022-03-25 15:54:01 +09:00
Dan Balasescu
2d8d177807
Merge branch 'master' into skin-nullable 2022-03-25 15:36:21 +09:00
Dean Herbert
e243a7c55d Reword storage param xmldoc to use stronger and better defined langauge 2022-03-24 12:45:11 +09:00
Dean Herbert
0cd29a73b9 Fix typo in xmldocs 2022-03-24 12:39:47 +09:00
Dean Herbert
3e020073c5 Convert Skin to use nullable 2022-03-24 00:23:55 +09:00
Dean Herbert
05c7e09d79 Make Textures and Samples read-only 2022-03-24 00:02:38 +09:00
Dean Herbert
078288a616 Make "skin.ini" the default skin filename and remove redundant parameters 2022-03-23 15:05:01 +09:00
Dean Herbert
d0ea1739b4 Remove skin configuration stream logic as it is no longer required 2022-03-23 14:57:42 +09:00
Dean Herbert
e56d13d8be Fix realm backed store not being initialised for some tests 2022-03-23 14:57:42 +09:00
Dean Herbert
3c38b14228 Documentation improvements 2022-03-23 14:57:42 +09:00
Dean Herbert
e1236e07ad Fix extensions not being specified in time for realm file caching 2022-03-23 14:57:42 +09:00
Dean Herbert
35d2f973a3 Prefer provided resource store over realm backed to keep tests working 2022-03-23 14:57:42 +09:00
Dean Herbert
5c4a74378d Remove Textures and Samples initialisation to Skin 2022-03-23 14:57:42 +09:00
Dean Herbert
cd71ec0edd Remove ILive<> interface (and use abstract Live<> instead) 2022-01-26 13:38:56 +09:00
Dean Herbert
6eb2c28e41 Rename RealmContextFactory to RealmAccess 2022-01-24 20:38:07 +09:00
Dean Herbert
9d85beddbe Fix null reference in some tests due to missing realm context factory 2021-12-15 11:16:37 +09:00
Dean Herbert
441b7baa93 Provide a realm factory to usages of ToLive/RealmLive 2021-12-14 14:26:34 +09:00
Dean Herbert
6b55de2845 Use ILive for Skin.SkinInfo 2021-11-29 18:28:25 +09:00
Dean Herbert
2a9c7c00c8 Update tests and file access code 2021-11-29 18:28:25 +09:00
Dean Herbert
99a139dc98 Initialise all file lists at construction time (and remove setter) 2021-11-24 13:56:21 +09:00
Dean Herbert
59e763467f Move StoragePath implementation to an extension method 2021-11-19 16:08:38 +09:00
Dean Herbert
5bfb16efe2 Ignore case when searching for existing skin.ini 2021-11-01 14:24:38 +09:00
Dean Herbert
add39fbd4f Merge branch 'master' into fix-skin-layout-editor-crash 2021-10-28 06:24:24 +09:00
Dean Herbert
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
Dean Herbert
5303cae044 Add mention of stream close logic 2021-10-24 23:43:37 +09:00
Dean Herbert
93482414d6 Remove SkinConfiguration subclasses and allow configuration parsing for all skin types 2021-10-22 14:42:23 +09:00
smoogipoo
adff418fd2 Guard against exception in skin deserialisation 2021-10-01 22:17:38 +09:00
Bartłomiej Dach
69fc072429 Ignore skin component json data if deserialisation fails instead
Crashing was not really the best thing to do there given the preceding
code that already allowed a few continues in case of a missing file.
2021-05-15 01:08:11 +02:00
Bartłomiej Dach
fa6b5515b7 Ignore possible null from JsonConvert.DeserializeObject()
Nothing better can be done if a `null` is indeed returned.
2021-05-15 00:09:34 +02:00
smoogipoo
2f025f1967 SkinnableTargetWrapper -> SkinnableTargetComponentsContainer 2021-05-13 18:54:30 +09:00
Dean Herbert
3ea469813c Use interface in place of SkinnableTargetContainer 2021-05-13 17:25:51 +09:00
Dean Herbert
106fa97a11 Rename SkinnableElementTargetContainer to SkinnableTargetContainer 2021-05-13 17:07:38 +09:00
Dean Herbert
3b862798e9 Standardise naming of methods related to SkinnableInfo 2021-05-13 13:14:49 +09:00
Dean Herbert
c93ed541f3 Add xmldoc and tidy up logic in Skin 2021-05-13 13:09:33 +09:00
Dean Herbert
992a052426 Remove stray comment 2021-05-13 13:07:06 +09:00
Dean Herbert
117d6d731d Move cross-component layout dependencies for legacy skin to LegacySkin 2021-05-11 18:39:14 +09:00
Dean Herbert
bf65547eec Allow some serialised components to not be mutable by the user 2021-05-11 18:39:14 +09:00
Dean Herbert
c957293ec3 Load json from disk store at skin construction for now
This allows for easier mutation without worrying about changes being
re-read from disk unexpectedly.
2021-05-11 18:39:14 +09:00
Dean Herbert
b248b2e5e3 Hook up full save/load flow 2021-05-11 18:39:14 +09:00
Bartłomiej Dach
aec859b4d1 Merge branch 'master' into fix-unsafe-skinnable-sample-play 2021-03-18 19:51:46 +01:00
Dean Herbert
c4ba045df1 Add note about finalizers required for audio store clean-up 2021-03-02 16:07:51 +09:00
Dean Herbert
00574a5288 Use ISample everywhere in Skin GetSample lookup path 2021-02-18 18:32:28 +09:00
smoogipoo
de9d075f94 Initial sample + samplechannel rework 2021-01-19 17:11:40 +09:00