Fix more PascalCase inconsistencies

This commit is contained in:
2025-10-01 12:07:54 +04:00
parent f6475f83f6
commit 550b2ac220
12 changed files with 55 additions and 19 deletions

View File

@@ -110,9 +110,9 @@ Guidance for Claude Code (claude.ai/code) when working with this repository.
- `src/autoloads/SaveManager.gd` - **Save system with security features**
- `src/autoloads/SettingsManager.gd` - Settings management with input validation and security
- `src/autoloads/DebugManager.gd` - Debug system integration
- `scenes/game/game.gd` - Main game scene with modular gameplay system
- `scenes/game/Game.gd` - Main game scene with modular gameplay system
- `scenes/game/gameplays/Match3Gameplay.gd` - Match-3 implementation with input validation
- `scenes/game/gameplays/tile.gd` - Instance-based tile behavior without global state
- `scenes/game/gameplays/Tile.gd` - Instance-based tile behavior without global state
- `scenes/ui/DebugMenuBase.gd` - Unified debug menu base class
- `scenes/ui/SettingsMenu.gd` - Settings UI with input validation
- `scenes/game/gameplays/` - Individual gameplay mode implementations

View File

@@ -31,7 +31,7 @@ for child in children_to_remove:
**Files Improved:**
- `scenes/game/gameplays/Match3Gameplay.gd`
- `scenes/game/gameplays/tile.gd`
- `scenes/game/gameplays/Tile.gd`
### 2. Error Handling & Recovery
@@ -112,7 +112,7 @@ static func set_active_gem_pool(gem_indices: Array) -> void:
```
**Files Improved:**
- `scenes/game/gameplays/tile.gd`
- `scenes/game/gameplays/Tile.gd`
- `scenes/game/gameplays/Match3Gameplay.gd`
## 🟡 Code Quality Improvements

View File

@@ -90,7 +90,7 @@ game.tscn (Gameplay Container)
```
### Game Flow
1. **Main Scene** (`scenes/main/main.tscn` + `Main.gd`)
1. **Main Scene** (`scenes/main/Main.tscn` + `Main.gd`)
- Application entry point
- Manages splash screen
- Transitions to main menu
@@ -112,7 +112,7 @@ game.tscn (Gameplay Container)
- Audio volume controls
- Connected to SettingsManager and AudioManager
5. **Game Scene** (`scenes/game/game.tscn` + `game.gd`)
5. **Game Scene** (`scenes/game/Game.tscn` + `Game.gd`)
- Main gameplay container with modular gameplay system
- Dynamic loading of gameplay modes into GameplayContainer
- Global score management and display
@@ -145,7 +145,7 @@ scenes/ui/
The game now uses a modular gameplay architecture where different game modes can be dynamically loaded into the main game scene.
### Gameplay Architecture
- **Main Game Scene** (`scenes/game/game.gd`) - Container and coordinator
- **Main Game Scene** (`scenes/game/Game.gd`) - Container and coordinator
- **Gameplay Directory** (`scenes/game/gameplays/`) - Individual gameplay implementations
- **Dynamic Loading** - Gameplay scenes loaded at runtime based on mode selection
- **Signal-based Communication** - Gameplays communicate with main scene via signals
@@ -168,7 +168,7 @@ The game now uses a modular gameplay architecture where different game modes can
- Smooth tile position animations with Tween
- Cursor-based navigation with visual highlighting and bounds checking
2. **Tile System** (`scenes/game/gameplays/tile.gd` + `Tile.tscn`)
2. **Tile System** (`scenes/game/gameplays/Tile.gd` + `Tile.tscn`)
- Tile behavior with instance-based architecture (no global state)
- Gem type management with validation and bounds checking
- Visual representation with scaling and color

View File

@@ -11,7 +11,7 @@ config_version=5
[application]
config/name="Skelly"
run/main_scene="res://scenes/main/main.tscn"
run/main_scene="res://scenes/main/Main.tscn"
config/features=PackedStringArray("4.4", "Mobile")
config/icon="res://icon.svg"
boot_splash/handheld/orientation=0
@@ -222,6 +222,6 @@ locale/translations=PackedStringArray("res://localization/MainStrings.en.transla
[rendering]
textures/canvas_textures/default_texture_filter=0
textures/vram_compression/import_etc2_astc=true
renderer/rendering_method="gl_compatibility"
renderer/rendering_method.mobile="gl_compatibility"
textures/vram_compression/import_etc2_astc=true

View File

@@ -470,7 +470,7 @@ func regenerate_grid():
# More robust tile detection
if child.has_method("get_script") and child.get_script():
var script_path = child.get_script().resource_path
if script_path == "res://scenes/game/gameplays/tile.gd":
if script_path == "res://scenes/game/gameplays/Tile.gd":
children_to_remove.append(child)
removed_count += 1
elif "grid_position" in child: # Fallback detection
@@ -1084,7 +1084,7 @@ func _restore_grid_from_layout(grid_layout: Array, active_gems: Array[int]) -> v
for child in get_children():
if child.has_method("get_script") and child.get_script():
var script_path = child.get_script().resource_path
if script_path == "res://scenes/game/gameplays/tile.gd":
if script_path == "res://scenes/game/gameplays/Tile.gd":
all_tile_children.append(child)
DebugManager.log_debug(

View File

@@ -94,7 +94,7 @@ static func restore_grid_from_layout(
for child in match3_node.get_children():
if child.has_method("get_script") and child.get_script():
var script_path = child.get_script().resource_path
if script_path == "res://scenes/game/gameplays/tile.gd":
if script_path == "res://scenes/game/gameplays/Tile.gd":
all_tile_children.append(child)
# Remove all found tile children

View File

@@ -1,6 +1,6 @@
[gd_scene load_steps=2 format=3 uid="uid://bnk1gqom3oi6q"]
[ext_resource type="Script" path="res://scenes/game/gameplays/tile.gd" id="1_tile_script"]
[ext_resource type="Script" path="res://scenes/game/gameplays/Tile.gd" id="1_tile_script"]
[node name="Tile" type="Node2D"]
script = ExtResource("1_tile_script")

View File

@@ -6,8 +6,9 @@
extends Node
const GAME_SCENE_PATH := "res://scenes/game/game.tscn"
const MAIN_SCENE_PATH := "res://scenes/main/main.tscn"
const GAME_SCENE_PATH := "res://scenes/game/Game.tscn"
const MAIN_SCENE_PATH := "res://scenes/main/Main.tscn"
const CREDITS_SCENE_PATH := "res://scenes/ui/Credits.tscn"
var pending_gameplay_mode: String = "match3"
var is_changing_scene: bool = false
@@ -97,6 +98,41 @@ func save_game() -> void:
DebugManager.log_info("Game saved with score: %d" % current_score, "GameManager")
func show_credits() -> void:
"""Show credits scene with race condition protection"""
# Prevent concurrent scene changes
if is_changing_scene:
DebugManager.log_warn(
"Scene change already in progress, ignoring show credits request", "GameManager"
)
return
is_changing_scene = true
DebugManager.log_info("Attempting to show credits scene", "GameManager")
var packed_scene := load(CREDITS_SCENE_PATH)
if not packed_scene or not packed_scene is PackedScene:
DebugManager.log_error(
"Failed to load Credits scene at: %s" % CREDITS_SCENE_PATH, "GameManager"
)
is_changing_scene = false
return
var result = get_tree().change_scene_to_packed(packed_scene)
if result != OK:
DebugManager.log_error(
"Failed to change to credits scene (Error code: %d)" % result, "GameManager"
)
is_changing_scene = false
return
DebugManager.log_info("Successfully loaded credits scene", "GameManager")
# Wait for scene to be ready, then mark scene change as complete
await get_tree().process_frame
is_changing_scene = false
func exit_to_main_menu() -> void:
"""Exit to main menu with race condition protection"""
# Prevent concurrent scene changes

View File

@@ -148,8 +148,8 @@ func test_critical_scenes():
# Define critical scenes that must work
var critical_scenes = [
"res://scenes/main/main.tscn",
"res://scenes/game/game.tscn",
"res://scenes/main/Main.tscn",
"res://scenes/game/Game.tscn",
"res://scenes/ui/MainMenu.tscn",
"res://scenes/game/gameplays/Match3Gameplay.tscn"
]