| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- using UnityEngine;
- using System.Collections.Generic;
- public class CombatManager : MonoBehaviour
- {
- public TeamCohesionManager cohesionManager;
- private List<CharacterInGroup> playerTeam;
- public List<MonsterController> monsters = new();
- void Start()
- {
- playerTeam = cohesionManager.groupMembers;
- }
- public void RegisterMonster(MonsterController monster)
- {
- if (!monsters.Contains(monster))
- monsters.Add(monster);
- }
- void Update()
- {
-
- }
- CharacterInGroup FindNearestCharacter(Vector3 monsterPos)
- {
- CharacterInGroup nearest = null;
- float closestDist = float.MaxValue;
- foreach (var character in playerTeam)
- {
- float dist = Vector3.Distance(monsterPos, GridPositionToWorld(character.gridX, character.gridY));
- if (dist < closestDist)
- {
- closestDist = dist;
- nearest = character;
- }
- }
- return nearest;
- }
- Vector3 GridPositionToWorld(int x, int y)
- {
- return new Vector3(x, 0, y); // Ajuste selon ta conversion grille → monde
- }
- }
|