Hi GIL,

My question is two-fold, but kind of similar.

Firstly, we are going to have these Views that are built using Vanilla Unity and they need to be connected with ORK Menu Screens. We are going to use the menu screens as encyclopedia, which we want to automatically open during our cutscenes. For eg. Let's say that a player is being taught how to craft an item in the Views, but we want to redirect the user to specific location in the encyclopedia(menu screen) to teach them where to look for that information in future. Normally, we would use UnityEvent or C# event to trigger a UI menu. How would we do this for ORK menu screen, and directly scroll to a specific item within it.

Secondly, this is a general doubt about how to interface Vanilla Unity and ORK. Like what is the first thing to think of when we want to achieve this for other applications.

Lastly, which do you recommend, UnityEvent or C# event, when working with ORK. Our game is not going to have too many events being broadcasted simultaneously, so will UnityEvent be performant when used with ORK.

Thanks,
Blitz
  • 1) Calling a menu screen via script is pretty simple:
    ORK.MenuScreens.Get(index).Show();
    Or, if you do your cutscenes in schematics, the Call Menu Screen node does the job.

    Scrolling/selecting a specific thing isn't possible without some custom work.

    2) You can pretty much access all functionality via scripting, either through the central ORK class or via the individual data assets.
    The details depends on what you want to do, so that's hard to tell ...

    3) ORK itself uses C# event handling, i.e. if you want to register to get notified by changes in ORK, you'll just need some matching functions that you can add to it's event handlers.
    Other than that - use what's best for your design, I don't think there's much difference in performance between the two, especially if they are not used excessively each frame.
    Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found.
    If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
  • Ref : Scrolling/selecting a specific thing isn't possible without some custom work.

    So, in order to incorporate this custom functionality, which classes should be modified ? Would like to make this work in a crude manner asap. Thanks
  • I'd recommend copying the code of the menu part you want to use from ORK's source code and making your own variant - just having the code in the project should be enough, so no need to rebuild the whole source.

    You can find the menu part classes in UI/Settings/MenuScreen/Parts/ in the source code.
    Just make sure to rename your class and have a different name in the EditorSettingInfo attribute of the class (to not conflict with the original part).

    The menu part classes are pretty massive, what you need to do is:
    - add a function where you pass on the thing you want to focus on and store that thing in a (private) field
    - in the related ShowX function (X replaced by what's displayed, e.g. in an ability part showing the abilities would be ShowAbilities) where the UI box is created and initialized, go through the displayed data to find the index of the button for it and have the UI box select that input index.
    Please consider rating/reviewing my products on the Asset Store (hopefully positively), as that helps tremendously with getting found.
    If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
Sign In or Register to comment.