admin and Claude Opus 4.8
882d30797e
Refactor: dedupe input reads, material-property guards, button hooks
...
Extract byte-identical duplicated code into shared helpers (behaviour-neutral):
- New InputUtil.cs: single source for mouse-delta/scroll/cursor-lock, modifier
and mouse-button reads, previously copied verbatim across camera controllers,
MeshPainter, FirstPersonMode and PlayerCharacterController.
- GetMatFloat/SetMatFloat replace the 12x material-instance + HasProperty guard
pattern for the camo/height float properties.
- Route two inline button hooks through the existing Hook() helper.
Bespoke variants deliberately kept local (FreeCam SprintHeld = LeftShift only,
MeshPainter.TryGetMouse with out-params).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-02 09:20:40 +02:00
..
2026-07-01 13:07:16 +02:00
2026-07-01 16:06:36 +02:00
2026-07-01 15:30:21 +02:00
2026-07-01 15:30:21 +02:00
2026-06-26 12:37:02 +02:00
2026-06-27 09:10:47 +02:00
2026-06-27 09:10:47 +02:00
2026-06-28 13:56:02 +02:00
2026-06-24 15:31:48 +02:00
2026-06-29 16:23:50 +02:00
2026-06-24 05:59:22 +02:00
2026-06-24 05:59:22 +02:00
2026-07-02 09:20:40 +02:00
2026-06-27 13:03:52 +02:00
2026-07-02 09:20:40 +02:00
2026-06-27 13:03:52 +02:00
2026-06-22 17:26:41 +02:00
2026-06-22 12:03:24 +02:00
2026-07-02 09:20:40 +02:00
2026-06-26 23:01:14 +02:00
2026-06-26 23:01:14 +02:00
2026-06-26 23:01:14 +02:00
2026-06-22 17:26:41 +02:00
2026-06-22 15:13:46 +02:00
2026-07-02 08:42:41 +02:00
2026-06-22 15:13:46 +02:00
2026-06-24 05:59:22 +02:00
2026-06-24 05:59:22 +02:00
2026-06-30 21:32:25 +02:00
2026-06-28 17:18:32 +02:00
2026-06-30 18:20:13 +02:00
2026-06-24 08:26:56 +02:00
2026-07-02 09:20:40 +02:00
2026-07-02 09:20:40 +02:00
2026-06-30 13:59:46 +02:00
2026-06-30 13:59:46 +02:00
2026-07-01 12:22:17 +02:00
2026-06-27 22:44:18 +02:00
2026-06-30 22:40:23 +02:00
2026-06-23 19:31:52 +02:00
2026-06-25 06:23:08 +02:00
2026-06-23 19:31:52 +02:00
2026-07-02 09:20:40 +02:00
2026-06-22 12:03:24 +02:00
2026-06-25 07:11:27 +02:00
2026-06-23 19:31:52 +02:00
2026-06-28 01:21:39 +02:00
2026-06-27 15:02:33 +02:00
2026-07-01 07:07:39 +02:00
2026-06-25 05:11:36 +02:00
2026-07-01 21:52:37 +02:00
2026-06-24 20:25:14 +02:00
2026-07-02 09:20:40 +02:00
2026-06-23 19:31:52 +02:00
2026-06-24 19:07:28 +02:00
2026-06-24 19:07:28 +02:00
2026-06-30 19:53:26 +02:00
2026-06-27 20:19:36 +02:00
2026-06-28 13:55:53 +02:00
2026-06-28 13:55:53 +02:00
2026-06-28 13:55:53 +02:00
2026-06-28 13:55:53 +02:00
2026-06-30 19:53:26 +02:00
2026-06-27 14:33:18 +02:00
2026-07-01 21:52:46 +02:00
2026-06-27 14:33:18 +02:00
2026-06-28 14:00:03 +02:00
2026-06-28 11:03:26 +02:00
2026-06-28 11:03:26 +02:00
2026-06-28 10:17:28 +02:00
2026-07-02 09:20:40 +02:00
2026-06-24 08:26:56 +02:00
2026-07-02 09:20:40 +02:00
2026-06-27 18:39:20 +02:00
2026-07-01 07:07:39 +02:00
2026-06-25 05:11:36 +02:00
2026-06-30 19:25:45 +02:00
2026-06-22 15:13:46 +02:00
2026-06-27 15:59:25 +02:00
2026-06-27 14:44:11 +02:00
2026-07-02 09:20:40 +02:00
2026-06-22 13:02:03 +02:00
2026-06-26 12:37:02 +02:00
2026-06-22 15:13:46 +02:00
2026-07-01 07:07:39 +02:00
2026-06-27 15:02:33 +02:00
2026-06-27 13:49:16 +02:00
2026-06-26 08:21:28 +02:00
2026-07-01 21:52:46 +02:00
2026-06-26 08:21:28 +02:00
2026-06-27 17:01:43 +02:00
2026-06-27 17:01:43 +02:00
2026-06-27 11:49:43 +02:00
2026-06-27 11:49:43 +02:00
2026-06-27 11:49:43 +02:00
2026-06-26 12:37:02 +02:00
2026-06-30 18:20:13 +02:00
2026-06-30 18:20:13 +02:00
2026-06-28 00:31:49 +02:00
2026-06-28 00:31:49 +02:00
2026-06-28 09:34:18 +02:00
2026-06-27 22:44:18 +02:00
2026-07-02 09:20:40 +02:00
2026-06-22 14:31:45 +02:00
2026-06-30 19:53:26 +02:00
2026-06-30 19:53:26 +02:00
2026-06-24 08:26:56 +02:00
2026-06-24 08:26:56 +02:00