|
|
|
"""
|
|
Debug script to investigate the entity name resolution issue
|
|
"""
|
|
|
|
import sys
|
|
import os
|
|
|
|
|
|
sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'src'))
|
|
|
|
def debug_entity_names():
|
|
try:
|
|
|
|
from src.core.game_engine import get_game_engine
|
|
from src.facades.game_facade import GameFacade
|
|
from src.ui.interface_manager import InterfaceManager
|
|
from src.ui.huggingface_ui import HuggingFaceUI
|
|
|
|
print("🔍 Debugging Entity Name Resolution...")
|
|
|
|
|
|
facade = GameFacade()
|
|
ui = HuggingFaceUI(facade)
|
|
interface_manager = InterfaceManager(facade, ui)
|
|
engine = get_game_engine()
|
|
|
|
|
|
player1_id = facade.join_game('TestPlayer1')
|
|
player2_id = facade.join_game('TestPlayer2')
|
|
|
|
print(f"✅ Created players:")
|
|
print(f" - TestPlayer1: {player1_id}")
|
|
print(f" - TestPlayer2: {player2_id}")
|
|
|
|
|
|
facade.move_player(player1_id, "right")
|
|
facade.move_player(player2_id, "right")
|
|
|
|
print(f"\n🌍 World contents:")
|
|
world = engine.get_world()
|
|
print(f" - NPCs: {list(world.npcs.keys())}")
|
|
print(f" - Players: {list(world.players.keys())}")
|
|
|
|
|
|
for pid in [player1_id, player2_id]:
|
|
player = world.players.get(pid)
|
|
if player:
|
|
print(f" - Player {pid}: name='{player.name}', type={type(player)}")
|
|
else:
|
|
print(f" - Player {pid}: NOT FOUND!")
|
|
|
|
|
|
for npc_id, npc in world.npcs.items():
|
|
print(f" - NPC {npc_id}: {npc}")
|
|
|
|
|
|
proximity_data = facade.get_proximity_info(player1_id)
|
|
print(f"\n📡 Raw proximity data:")
|
|
print(f" - Data: {proximity_data}")
|
|
|
|
nearby_entities = proximity_data.get("nearby_entities", [])
|
|
print(f"\n🎯 Processing each nearby entity:")
|
|
for i, entity in enumerate(nearby_entities):
|
|
entity_id = entity['id']
|
|
print(f" Entity {i+1}: ID='{entity_id}'")
|
|
|
|
|
|
resolved_name = interface_manager._get_entity_name(entity_id)
|
|
print(f" - Resolved name: '{resolved_name}'")
|
|
|
|
npc = world.npcs.get(entity_id)
|
|
if npc:
|
|
print(f" - Found as NPC: {npc}")
|
|
else:
|
|
print(f" - Not found in NPCs")
|
|
|
|
|
|
player = world.players.get(entity_id)
|
|
if player:
|
|
print(f" - Found as Player: name='{player.name}', type={type(player)}")
|
|
else:
|
|
print(f" - Not found in Players")
|
|
|
|
return True
|
|
|
|
except Exception as e:
|
|
print(f"❌ Debug failed: {e}")
|
|
import traceback
|
|
traceback.print_exc()
|
|
return False
|
|
|
|
if __name__ == "__main__":
|
|
debug_entity_names()
|
|
|