Commit Graph

68 Commits

Author SHA1 Message Date
Nicolás Badano
75a09357aa Properly configure canInteractWith and exceptions for self interaction 2015-03-23 18:08:58 -03:00
Nicolás Badano
eb557bf777 Make interac_menu work in real 2D:
- Children positions are calculated directly on screen space
- Saves a lot of worldToScreen, ATLtoASL, etc calls
- Selector is now a control instead of a 3D icon
2015-03-23 18:08:31 -03:00
Nicolás Badano
dbbfdd88df Forgotten line 2015-03-23 16:53:28 -03:00
Nicolás Badano
bf1d808b82 Small optimizations on interact_menu 2015-03-23 14:01:38 -03:00
Nicolás Badano
32be87806b Clear the caches again after performing the action, cause it's very possible something changed as a result. 2015-03-21 20:37:01 -03:00
Nicolás Badano
2beb1a289e Ensure the condition of the action is always checked uncached before calling the statement. 2015-03-21 20:30:27 -03:00
Nicolás Badano
213b817947 Added to cachedCall an option to clear the cache on an event 2015-03-21 17:50:35 -03:00
Nicolás Badano
dbb9765035 Fix isSubPath 2015-03-21 14:28:17 -03:00
Nicolás Badano
4a8b5079a6 Fix #211 2015-03-21 09:37:01 -03:00
Nicolás Badano
3d6660b115 Debug stuff 2015-03-20 22:44:36 -03:00
Nicolás Badano
b3aa7c8970 Make collectActiveActionTree follow mounts correctly 2015-03-20 22:44:25 -03:00
Nicolás Badano
84bf44e026 Refactoring of interact_menu:
- Reordering of action members
- Removed full path from actions, so they can be mounted under different paths if needed
- Added api for creating actions
- Api for adding actions for objects or classes
2015-03-19 23:32:44 -03:00
Nicolás Badano
a3b913ad8b Interact menu usability improvements:
- Submenu scale as a function of the number of children
- Added menu expansion animation to better communicate where the options come from
- Unused action point are faded as soon as the user hovers a certain action point
2015-03-19 15:04:48 -03:00
Nicolás Badano
f96126153c Reenable hiding useless actions 2015-03-19 14:45:05 -03:00
Nicolás Badano
acd3ca0d56 Interact menu:
- Allow dynamically adding children actions just-in-time
- Added optional custom parameters for actions
2015-03-19 13:00:10 -03:00
Nicolás Badano
3030b78ea2 Refactor the interact_menu so options for multiple objects can coexist inside a single action point 2015-03-17 00:37:28 -03:00
commy2
898476fc2f no target in self actions 2015-03-15 16:45:06 +01:00
commy2
b5f307919e replace canInteract with canInteractWith 2015-03-15 13:00:10 +01:00
PabstMirror
ebbebea6f2 Merge pull request #187 from KoffeinFlummi/wirecuttersInerationTest
Wirecutters Interaction
2015-03-14 13:11:17 -05:00
Nicolás Badano
d02b5d2125 Ensure the class actions are compiled from config before adding them from the API 2015-03-11 16:26:58 -03:00
PabstMirror
3a7c7f7cee Fix interactMenuClosed event 2015-03-11 12:48:17 -05:00
PabstMirror
858e5def5a Interact menu event consistant
"interactMenuOpened",  to match event from #191
2015-03-11 12:45:01 -05:00
Nicolás Badano
8c7a51eac7 Added addClassAction and removeClassAction functions 2015-03-11 01:43:37 -03:00
Nicolás Badano
3dfef439e5 Delay the interactMenuClosed event until after the statement is executed, just in case it's needed to clean up afterwards. 2015-03-11 00:49:46 -03:00
Nicolás Badano
28929df32d Avoid submenus running statements when they open. Instead just check if the hovering action should runOnHover 2015-03-11 00:39:23 -03:00
Nicolás Badano
f12e4ab751 Add the runOnHover parameter 2015-03-11 00:37:59 -03:00
Nicolás Badano
7138fadd71 Support additional parameters for addAction API 2015-03-11 00:25:45 -03:00
Nicolás Badano
722f49acc4 Execute statement when hovering over actions that open submenus 2015-03-11 00:21:05 -03:00
Nicolás Badano
b33127d3b0 Renamed variable 2015-03-10 23:45:46 -03:00
Nicolás Badano
e97467b3e3 Throw an event when the interact menu is closed 2015-03-10 23:36:28 -03:00
Nicolás Badano
14b97de930 Cache the generation of active action trees for action points. This sensibly cuts down the execution of action conditions. 2015-03-10 23:23:13 -03:00
PabstMirror
49cef030d5 Add "interact_keyDown" local event to interactMenu 2015-03-10 15:48:08 -05:00
Nicolás Badano
27808847db - Solve a number of ASL vs ATL issues
- Replace the way of calculating 3D positions for subactions
2015-03-03 01:37:17 -03:00
Nicolás Badano
1c25baa404 Base interaction distance in distance to head instead of distance to camera. Works much better on third person view 2015-03-03 00:34:34 -03:00
Nicolás Badano
b675d9d180 Compensate for movement during the frame to get rid of jittering 2015-03-03 00:16:38 -03:00
Nicolás Badano
83572921ae - Modification of actions data structure to separate action parameters from children
- The action tree of each interaction point is parsed before drawing, pruning inactive actions
- Parent actions without statements or active children are not drawn, in order to reduce clutter
2015-03-02 23:29:57 -03:00
Nicolás Badano
094be22a19 Move collect children on a sepparate function 2015-03-02 17:53:30 -03:00
Nicolás Badano
472e2c5bff Reduce opacity of base actions 2015-03-01 20:14:27 -03:00
Nicolás Badano
a824c1266a Create an interaction point for the current weapon 2015-03-01 18:29:54 -03:00
Nicolás Badano
a2a9643627 Add option to always display cursor for self interaction 2015-02-28 18:56:57 -03:00
Nicolás Badano
85a77150c9 - Add cursored self interaction menu (for using inside vehicles)
- Renamed the base menu "SelfActions" to "ACE_SelfActions"
- Limit the amount of objects the player is shown interactions with. This are the 3 nearest objects which have active action points visible on screen.
- Cull action points that are not visible, to far away, etc before checking if they are active.
2015-02-28 17:48:46 -03:00
Nicolás Badano
2371bc1bb0 Removed the renderDepth variables 2015-02-27 02:35:37 -03:00
Nicolás Badano
08b15315bf Fixed removeAction; added trekkie examples 2015-02-27 02:20:28 -03:00
Nicolás Badano
3d8854f84a Fixed opacity of icons; removed debug traces 2015-02-27 02:07:35 -03:00
Nicolás Badano
310710b6e2 Major plumbing upgrades on interact_menu:
- Store only one compiled menu per class
- Actions added through apis for invidual objects stored on the object separately
- Replaced the concept of uids by paths. This allows adding/removing actions inside other actions loaded from config seamlessly.
- Temporarily removed caching of nearby actions (probe). We may go back to that if needed pretty easily. This allows the player to move freely with the interaction menu opened.
2015-02-27 01:55:16 -03:00
Nicolás Badano
6b7f649244 interact_menu: add headers 2015-02-21 17:11:03 -03:00
Nicolás Badano
908f23a78f Removed filtering actions 2015-02-19 20:10:07 -03:00
Nicolás Badano
bc3a226c64 Text under the icon 2015-02-19 18:56:43 -03:00
Nicolás Badano
41145e5731 reduce size of the menu 2015-02-19 18:03:25 -03:00
Nicolás Badano
0dfeb22ec8 tidy up 2015-02-19 18:03:14 -03:00