push-pop / Unity-MVVM

Lightweight MVVM Framework for Unity3D
MIT License
323 stars 27 forks source link

Add Component Menu #65

Closed AAAYaKo closed 3 years ago

AAAYaKo commented 3 years ago

Added component menu in feature/componentMenu branch Added pattern matching into RemapValueConverter

push-pop commented 3 years ago

Hi @AAAYaKo I made a feature/componentsMenu branch on my repo can you please put the PR to there.

Main should only be pushed to when there is a new version because it kicks off tasks that make it work with the Unity PackageManager so I only push to that when there is a new version, and we try to track changes as well. I'll make a staging branch for the next version and we can start adding everything to that

AAAYaKo commented 3 years ago

Sorry, I didn't notice that the wrong branch was selected

AAAYaKo commented 3 years ago

About valueConverter for experimental changes for 1.1.3 Does ConvertBack work now? How is the parameter used? Is the use of targetType critical, is it possible to get rid of it? throw new NotImplementedException () is constantly encountered in the code, is it wrong to separate oneway and otherway by interfaces and use pattren matching?

AAAYaKo commented 3 years ago

And for UX improvements in bindings https://youtu.be/IDGmxSBt3D4 This Unit Now shown this kind of data binding SmartSelectImage_2021-02-25-22-30-59 SmartSelectImage_2021-02-25-22-42-20 I think it would be convenient to chose the path to the property through one dropdown

push-pop commented 3 years ago

@AAAYaKo let's make some issues to talk about new features if that works for you? I def would like to implement that dropdown style! I think there are just a few questions as to how it should work so would be best to discuss in an issue...

You're right that NotImplementedException should not be thrown. This was mostly for laziness since ConvertBack is not often used (depending on application.) But since it's hard to edit code directly now with Unity PackageManager it doesn't make sense to have those in there and they should be implemented. ConvertBack is called on TwoWay and OneWayToSource bindings.

Regarding the ValueConverter API: I just copied it from the WPF signature. Parameter is currently not used and I guess not TargetType either. Parameter is sorta not needed with Unity because we can just add SerializedFields.

Probably safe to remove

AAAYaKo commented 3 years ago

I'm okay with that