Commit Graph

18 Commits

Author SHA1 Message Date
Avi Weinstock
5f8957d8ef Globally allow the clippy lints {new_without_default, many_single_char_names, identity_op, type_complexity, too_many_arguments}. 2022-01-30 20:16:20 +01:00
Joshua Barretto
89cd58b1ac Don't allow interaction with mounted entity 2022-01-20 11:25:53 +00:00
anomaluridae
d0bd1ddb24 remove unneeded mut, provide default_select_pos to secondry key event handler, and use the is_filled() over the is_opaque() to be reader friendly 2021-09-17 10:34:20 -07:00
anomaluridae
82f3c3c3e8 is_solid() detects both solid rock and sprites (e.g. mineable ore). when in build mode, would like to be able to still mine if user cursor is over a mineable ore. so need to properly cast the build ray to use opaque (not fillable) blocks to get the proper position, vs the mineable block which may be nearer 2021-09-17 10:34:20 -07:00
anomaluridae
aa86c86cb6 choose nearest target, from a specific subset of targets, for scene highlighting vs interactable vs game primary/secondary key input 2021-09-17 10:34:20 -07:00
anomaluridae
6362df4ffc keep MAX_TARGET_RANGE within voxygen 2021-09-17 10:34:20 -07:00
anomaluridae
b4d12b7995 intentional use of terrain targeting and select_pos as passed to the event handler. select_pos is None when not needed. 2021-09-17 10:34:20 -07:00
anomaluridae
42d5836cfa properly use the target vs pickup range, in choosing the interactable. when finding the target_entity, use the proper limited dist range (cast_dist) with the proper upper bounds. 2021-09-17 10:34:20 -07:00
anomaluridae
c20dbe17dd build positions for place versus remove block are cleaner (less likely to fail) when apply the +0.01 modifier versus -0.01 modifier selectively. this is equivalent to current master, and is simply more explicit now 2021-09-17 10:34:20 -07:00
anomaluridae
f60bd80cc2 changes per MR feedback. simplier Option handling with zip, filter, and fewr unwraps. use kind keyword (not typed). if lets when possible. additional syntax cleanup 2021-09-17 10:34:20 -07:00
anomaluridae
8b83b48b9b make Target generic, over the specific typed targets 2021-09-17 10:34:20 -07:00
anomaluridae
ba4af5ee8e undo macro use for DRY on client event handler, and handle edge detection in mining so that we don't get Empty interactables. 2021-09-17 10:34:20 -07:00
anomaluridae
309447dced MR review updates. Added back the 0.01 modifiers, update naming and comments, keep interactable construction in the interactables mod, remove unneeded curry, syntax updates. only cast for mining and build if enabled. 2021-09-17 10:34:20 -07:00
anomaluridae
84f19b408f build is working. to add and remove blocks. 2021-09-17 10:34:20 -07:00
anomaluridae
48cc5d3b08 make Target into a typed struct. delineate the clear difference in Target versus Interactable. comments and naming cleanup, for more explicitness. 2021-09-17 10:34:20 -07:00
anomaluridae
51f38df169 clippy is a thing 2021-09-17 10:34:20 -07:00
anomaluridae
f20b5f0b49 make scene interaction be targeted exactly on mining blocks (removing abnormal Empty labels), and don't reset position to None in the middle of mining. 2021-09-17 10:34:20 -07:00
anomaluridae
ff91da8b52 make the concepts of targets (under cursor), separate from interactable. interactable is what is (1) indicated visually in gui as able to interact, or (2) is an entity, or (3) is a block capable of Interaction. whereas a target is what occurs under the cursor, regardless of other state and input (such as different InputKind). targets are determined first, then other factors are cosidered to determine interactable. 2021-09-17 10:34:20 -07:00