PartyUIManager.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using UnityEngine;
  2. using System.Collections.Generic;
  3. public class PartyUIManager : MonoBehaviour
  4. {
  5. public TeamCohesionManager cohesionManager;
  6. public GameObject characterCardPrefab;
  7. public Transform cardContainer;
  8. public PlayerWeaponManager weaponManager;
  9. void Start()
  10. {
  11. Debug.Log("#D001 > Reading Character Cards");
  12. DisplayPartyUI();
  13. }
  14. public void DisplayPartyUI()
  15. {
  16. foreach (Transform child in cardContainer)
  17. Destroy(child.gameObject);
  18. for (int i = 0; i < cohesionManager.groupMembers.Count; i++)
  19. {
  20. var character = cohesionManager.groupMembers[i];
  21. GameObject card = Instantiate(characterCardPrefab, cardContainer);
  22. Debug.Log("#D001 > Character Card Instantiated");
  23. CharacterUIController ui = card.GetComponent<CharacterUIController>();
  24. FirstPersonWeapon weapon = (i < weaponManager.weaponObjects.Count)
  25. ? weaponManager.weaponObjects[i]
  26. : null;
  27. ui.Setup(character, weapon);
  28. UIUpdater.Instance?.Register(character, ui);
  29. Debug.Log($"[UI Setup] Enregistrement de {character.characterName} (hashCode={character.GetHashCode()})");
  30. UIUpdater.Instance?.MarkReady();
  31. }
  32. }
  33. }