Interaction refactoring and replication
Initial refactoring of the interaction system to better lay the groundwork for interaction replication. Very rough untested draft as of now, changes include:
- Action/Hover now inherit from a BaseBehaviour which can save shared information, and adds some basic replication properties.
- Adds a BaseInteractionComponent which similarly to the BaseBehaviour contains replication and some general properties shared by both direct and ray interactors.
- Start/End functions have been condensed into one, and an Enum now separates the two. This reduces code duplication especially for replication by a lot.
- Adjusts other components such as intenselect to the new refactoring
- Callback for Behaviours that only executes on the originating client
- GrabBehaviour adjusted to replicate correctly
Missing changes:
- Test the whole thing:
-
Standalone seems to work fine -
Dedicated server grab -
Direct Interaction for -
VR Grab -
Grab seems to work fine for desktop Listen server + 2 clients -
Cave Grav -
Desktop + VR + Cave + Dedicated server Grab
-
-
Raycast Interaction for -
Desktop Grab -
Cave Grab -
VR Grab -
Desktop + VR + Cave + Dedicated server Grab
-
-
- Documentation and comments, especially the replication part
- Adjust blueprints and any other uassets
- Actually consider the replication process and add some more callbacks and events that can be used
- Naming scheme is wild
- Does it even make sense like this? This is just one possible approach
Edited by David Gilbert