Song of the Myrne: *Click*

Publié le 30 octobre 2014 par Beldarak @Beldarak

Hello les gens !
Une petite devinette aujourd'hui : quelle est la feature la plus réclamée pour Song of the Myrne / What Lies Beneath ?
Vous avez deux heures !
...
Ok, je ramasse les copies. Si vous avez répondu "Choisir ce qu'on répond aux PNJ avec la souris plutôt que le clavier" vous avez tout bon ;)
Behold !
J'en ai profité pour faire un petit lifting à cette interface histoire que les couleurs et le style soient le même que l'inventaire, le craft, etc etc...
Et voilà !


Envie des détails techniques ?
Allez d'accord. J'ai toujours dit que si je n'implémentais pas cette fonctionnalité c'est parce que le système de dialogue n'était pas du tout adapté et que ça me forcerait à éditer tous les dialogues.
Et c'était vrai^^.
En fait chaque dialogue est constitué de deux scripts (je met des couleurs pour pas trop vous embrouiller). Il y a un script général qui gère l'affichage et tout ce qui est commun à tous les dialogues (l'affichage du nom du PNJ, etc). C'est grâce à ça que j'ai pu relooker la fenêtre de dialogue sans difficultés.
Puis y'a la seconde partie, celle qui contient les dialogues à proprement dit. C'est ce script qui va contenir tout le texte et qui va gérer la navigation dans un dialogue (si on a répondu "Oui", on saute au bloc de texte 4, sinon au 8, etc...).
Donc en principe ce second script n'est pas censé contenir de truc qui soit commun entre tous les dialogues... Et comme le Beldarak du passé (le mec qui a créé ce système à double fichiers) est un fucking moron, bien entendu l'écoute de la touche enter (pour valider un choix) fait partie du second script :/
Donc contrôler tous les scripts pour s'adapter à la souris, c'était facile (car premier script). Le soucis c'est le moment précis du clic, puisqu'il doit se faire depuis le dialogue spécifique du PNJ. Y'a pas grand chose à modifier (pour vous dire il suffisait d'ajouter " || Input.GetMouseButton(0)" un peu partout dans les scripts spécifiques).
Sauf que des dialogues bah y'en a plein (132 pour être précis).
Donc plutôt que de passer une éternité à éditer chaquescript à la main, je me suis concocté un petit script éditeur sous Unity pour me faciliter le boulot (je vous avais bien dit que c'est utile^^).

C'est rudimentaire, ça m'a demandé trois clics par dialogue (j'aurais pu tout faire en un clic mais j'ai préféré vérifier ce qu'il faisait) mais ça a fonctionné :)
Et voilà, le jeu est encore un peu meilleur ;)