Closed OlivierMarty closed 9 years ago
Il faut réfléchir à un moyen de le faire qui ne soit pas trop couteux…
Tu as une idée de plus efficace que de vérifier pour chaque case les unités atteignables ?
Peut-être qu'un List.iter
sur les unités serait plus efficaces (moins que de cases quand même).
Ce n'est pas forcément la peine de calculer les unités à portée, on peut peut-être juste afficher la portée, ce qui est moins coûteux. Et mieux, ne l'afficher que si on laisse le curseur immobile pendant ~0.5s.
Dans ce cas il faut considérer la portée moins les cases sur lesquelles ont peut se déplacer. Attendre 0.5s n'est pas super je trouve. L'idée ici c'est aussi de pouvoir voir d'un rapide coup d'oeil qui on peut tuer.
Au pire ce n'est pas très couteux de calculer les unités à portée une fois au moment du déplacement. La fonction est déjà là, je m'en sers lorsqu'on passe le curseur en mode Attack. Il suffit juste de stocker la liste des unités à portée dans le statut du curseur (ici Moving) comme pour Attack.
Je ne pensais pas afficher toutes les unités atteignables, mais seulement celles qui le sont si on déplace l'unité sous le curseur, le calcul est bien fait lorsqu'on se déplace non ?
@iSheeft @VLanvin Ce serait pratique, afin de ne pas faire des déplacements sans attaquer ensuite... Je pense afficher la zone d'attaque comme si l'unité s'était déplacé sous le curseur, avant de valider un déplacement.