![]() ![]() One thing everyone seems to want to do is to move the Done button to the bottom. But be aware that some changes will cause problems. Other things can be moved and reordered such as the various sections at the top. There are certain areas which you cannot change the layout because they're generated by scripting such as the columns of input fields. Anything beyond that is out of the scope of the tool and up to you to implement if you choose to and requires a very good knowledge of Unity UI. Basic functional customization is done through the Control Mapper inspector. The theme was meant to provide basic customization of the styles on all elements because they're dynamically generated. Q: I want to customize more than what's available in the theme settings. Editing this layout significantly is going to require that you work out those same Unity UI-related issues I had to work out when I initially developed it. Control Mapper's layout is a very delicate dance with Unity UI that took a very long time to figure out because of how all the various Unity UI components work including the order in which they redraw and calculate their own sizes under a variety of circumstances. ![]() ![]() Control Mapper was never intended for users to modify its code like you're doing or change its layout beyond the options available in the inspector, so this is outside the scope of support I offer for Control Mapper. It has been years since I wrote Control Mapper. In order to figure out why the changes you have made aren't working, I would have to get your changes, figure out what you changed, and re-learn how the internals of Control Mapper work to debug it. That's somewhat safer, but the ability to add your own partial class definitions to extend it was an unintended side effect of making it a partial class so I could split up various logic over separate files. You must use these if you want to iterate controllers by index.Ĭlick to expand.I see. Type-organized lists of controllers are exposed in the same Player.ControllerHelper class. It's an id:Īnywhere the term Id is used in the API is a UNIQUE ID, not an Index, and cannot be used to iterate over items or get the first Joystick.Įvery new controller receives a new unique id. Re-focusing the main page calls Redraw.Ĭlick to expand.This isn't a bug. This calls the function to close the child windows, which in turn calls the function to re-focus the main page. Similarly, making an extendable base system like Control Mapper with all that variability that can be extended by the user by inheriting from it would have made it extremely difficult to design, and very difficult to make changes to after the fact without breaking everyone's projects.Ĭontrol Mapper redraws its items after pressing the Load Defaults button implicitly because it pops up a window asking "Are you sure?". When building a remapping system for your own game, you would not need to build it with all the variability, making it a lot simpler. Customizing Control Mapper is not a very good approach because it's so full of complexity due to all the customization options, being a very general purpose system that could be used for any type of game. Separate examples for building your own systems are included for those that want to build a custom remapping system designed around the needs of their game. Click to expand.If you want to modify the source code for your own purposes, you have to copy the ControlMapper.cs class, rename it, and replace the inspector reference to that class with yours. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |