feat: Add core manager scripts for camera context, player input, special tiles, and a powerup inventory UI.

This commit is contained in:
Yogi Wiguna
2026-03-04 13:27:22 +08:00
parent b32565203f
commit a78acd12b8
4 changed files with 78 additions and 198 deletions
+10 -3
View File
@@ -138,10 +138,17 @@ func initialize(p_player: Node3D, p_gridmap: Node):
# Helper: Item ID to Effect Enum
# =============================================================================
func get_effect_from_item(item_id: int) -> int:
var mode = LobbyManager.get_game_mode()
var is_restricted = GameMode.is_restricted(mode)
match item_id:
11: return SpecialEffect.FASTER_SPEED
12: return SpecialEffect.AREA_FREEZE
13: return SpecialEffect.BLOCK_FLOOR
12:
if is_restricted: return -1
return SpecialEffect.AREA_FREEZE
13:
if is_restricted: return -1
return SpecialEffect.BLOCK_FLOOR
14: return SpecialEffect.INVISIBLE_MODE
_: return -1
@@ -457,7 +464,7 @@ func spawn_powerups_around(center: Vector2i, force_powerups: bool = true):
var mode = LobbyManager.get_game_mode()
var is_restricted = GameMode.is_restricted(mode)
if is_restricted:
item_id = [11, 12, 14].pick_random()
item_id = [11, 14].pick_random()
else:
item_id = rng.randi_range(11, 14)