Le prefab ne contient plus de component Button, il s'agit juste d'un sprite.
Les deux scripts associés aux deux classes manaItem et ManaStack ont été corrigés.
1) manaItem décrit le comportement de chaque cristal de mana.
trois méthodes ont été ajoutées:
setDisabled, setEnabled, setSelected tous les trois afin de gérer l'apparence de chaque cristal.
2) ManaStack décrit le comportement de la barre de mana. Le maximum de cristaux est une variable publique manaMax attaché à l'objet mana_controller.
Pour connaitre le nombre de cristaux de mana disponible, il est possible d'appeler la fonction getMana.
La fonction addDaily est maintenant fonctionnelle.
En prévision de la suite, les prototype de addMana, subMana et selMana ont été écris mais non implémenté.
Crée au lancement de l'application à partir d'un prefab "manaItem".
Ce sont des boutons pour linstant (peut être à modifier...)
10 sont crée au lancement et agencés avec le système de Layout.
Une fonction pour en activer un par jour (comme sur Hearthstone) a été implémenté mais n'est pas encore fonctionelle.
création de deux méthodes dans la classe CreateScrollList
1) writeMessage qui permet d'afficher un message dans les logs, comme pour ChatWindow. Cette méthode est appelé par TchatAnim.
2) writeNotification qui permet d'envoyer une notification dans les logs. Un nouveau prefab LogNotification a été ajouté. Pour l'instant une notificaiton est envoyé par DayController pour prévenir du début de la phase d'accusation en journée. Comme pour les messages, pour l'instant aucune action ne leur est associé lorsque l'on clique dessus.
deux méthodes publiques implémentées:
writeDay: écrit les jours, appelées depuis DayController.cs
writeMessage: écrit les messages, appelées depuis TchatAnim.cs
Ajout de balise de style via les balises RichText.
L'animator de DayController comprend maintenant quatre états:
-Discussion: sort et discussion autorisée
-Accusation: la même mais on rajoute la possibilités d'accuser quelqu'un
-Killing: si quelqu'un est accusé, on décide ou non de l'abattre à l'arbre des pendus.
-Nuit: il fait tous les noirs, les gros chats sont de sortie.
L'état killing n'est pour le moment pas utilisé.
A chaque nouveau jour, une entrée dans le chaque renseigne sur le compte de jour.
Modiciation de la classe ChatWindow: ajout de la méthode writeText qui permet d'écrire dans le chat. A modifier cependant: rajouter un paramètre pour définir le style du message pour pouvoir modifier la police, la taille etc...
Il faudra aussi rajouter egalement un message qui pope lorsque l'on passe en fasse d'accusation. Pour faire ce, modifier la classe CreateScrollList pour y ajouter une méthode addMessage()
la durée du jour et de la nuit est entièrement modifiable depuis les paramètre dans le game object day_controller. s
Correction du bug du précédent commit.
Cependant l'UI ne capture toujours pas les clics...
Bug au niveau du chat: les messages ne s'affichent plus du à un bug de unity => tous les appels à des objets par des scripts ont disparus.
Le scroll et l'animation sont gérés, mais pas la disparition des messages. De plus les bulles de messages ne sont pas responsive.
Ajout d'un début de fenêtre pour l'historique des logs sur la taverne.
afin d'autoriser deux lignes à être entrée dans l'état bas (et donc déclencher l'état haut), l'inputfield dépasse du canvas. Pour que le fond de cet input field (le carré blanc), ne dépasse pas lui non plus, il a été désactivé, une autre image chat_input_bg a été crée et animée à la place, il reste encore à l'animer pour les différentes selections.
-affichage en rouge du nombre de caractères quand il en reste moins de 20
-meilleur utilisation du component inputfield (plus besoin d'ajouter le comonent texte au script pour qu'il fonctionne)
-correction de l'animation du timer. (le texte apparaissait brièvement lors de l'état long).
- le timer qui indique le nombre de secondes restantes entre deux messages fonctionne. Cependant, du à un problème de synchro, le message '1 secondes restantes' n'a pas le temps d'apparaitre.
-Création d'un état chat_empty: on considère (pour l'instant) que si jamais en supprimant des caractère, un message long ne fait plus qu'une ligne, on reste dans l'état actuel. Cependant si on supprime la totalité du message, le tchat doit revenir à l'état bas, et ce, sans imposer de timer. L'état chat_empty est crée dans c but. Aucun pb de fonctionnement détecté.
- L'état haut se déclenche maintenant en détectant la fin d'une ligne
- la validation (pour l'instant toujours avec 'espace', n'est pris en compte que lorsque le chat a le focus.
- correction du bug du nombre de lettres restantes
-première tentative de chrono sur l'état timer (ne fonctionne pas...à
nb: penser à desactiver le chat lors de la validation!
le chat possède maintenant 5 état (dans l'animator de tchat_complet).
-un état de repos qui se lance via une petite animation.
-un état haut, lorsque que le texte devient trop long. le nb de lignes est encore mal detecter.
-un état très long, lordque la limite de texte (150 pr l'instant) est proche:
il affiche le nombre de carac restant (la fonction bug pour l'instant).
-un état 'se baisser', le chat revient dans sa position initiale si il était haut.
-un état 'timer', ou un délai (15 sec pour l'instant) est déclenché. Il faudra ajouter un texte avec les secodnes restantes.
en outre, il reste a gérer l'activation/desactivation du tchat, ainsi que la barre de scroll, et autres bug eventuels.
Animator fait, condition de déclenchement: booleen "etat_tchat"
sur 1 => déclenchement du lever du tchat
sur 0 => abaissement du tchat
Premier script pour déclenchement au clic, mais ne fonctionne pas.
si quelqu'un à une idée...
les parties droites et gauches coulissent correctement sur la barre centrale
reste à faire:
-animation de la barre des sorts selon le nombre de sorts, et celle du tchat qui monte quand on clique dessus.
-ajout des boutons, des barre de vie, de mana etc...s
ajout du HUD propre au héros
quelques problèmes de redimensionnement à régler,
mais à part pour des résolutions fantaisistes, la mise à l'échelle fonctionne.