stride3d / stride

Stride Game Engine (formerly Xenko)
https://stride3d.net
MIT License
6.41k stars 929 forks source link

Abstract type UX improvements #1870

Open manio143 opened 10 months ago

manio143 commented 10 months ago

Is your feature request related to a problem? Please describe. When working with abstract types in the editor it should always be clear which implementation type is being used. Both in properties and lists/dictionaries.

See discussion in #1842

Also if selected type is not an EntityComponent we should hide the component picker.

Fydar commented 2 months ago

Here is a dropdown type selector that I designed and implemented in Unity for reference.

type-selector-dropdown

Eideren commented 2 months ago

Also in unity, Odin Inspector image

Do note that our abstract type should also handle object references not just values; the field should work as both a dropdown but also as a an object reference target zone. The two UI example listed thus far fail at this since in both cases they only handle creating and managing values. For example, let's say that you have a field of type IInventory, the engine handles public class MyInventory : IInventory {} but public class MyInventory : SyncScript, IInventory {} is also supported.