[MY-AL] UnityEvent et Delegate pour un jeu de carte à collectionner
Publié : 29 Juil 2017 09:17
Bonjour,
Je suis actuellement en train de travailler sur un prototype de jeu de carte à collectionner (Hearthstone, Magic...). J'ai pour l'instant programmé un éditeur de carte avec EditorWindow qui me permet de sauvegarder les cartes dans un ScriptableObject ainsi qu'un système de combat basique.
Après diverses avis que j'ai pu trouver sur des forums, j'ai vu qu'il était conseillé de faire un système de Delegates qui gèrerais les effets de toutes les cartes du jeu ainsi qu'un système d’événement pour gérer tous les événements récurrent du jeu (Quand on pose une carte, quand une carte meurt, au début du tour...). Seulement je n'avais jamais utilisé UnityEvent jusque la et n'ai donc aucune idée de la manière de mettre en place ce système malgré les nombreuses recherches que j'ai pu effectuer.
Voila les questions que je me pose :
Comment définir un nouvel événement, tel que "lorsqu'une invocation attaque" ou encore "Au début du tour de l'adversaire".
Comment stocker les effets de chaque carte de manière à ne pas devoir créer un script différents pour chaque carte?
De manière très général, comment penser l'architecture du programme?
j'ai trouvé ce lien : qui m'a permis de mieux cerner le sujet mais les bouts de codes qui s'y trouvent sont incomplet et ne me permettent pas de comprendre réellement le système qui est mis en place
https://forum.unity3d.com/threads/how-w ... me.403611/
J'ai conscience que ma question est très vague et bien entendu je n'attend pas une réponse clef en main mais simplement des pistes ou une explication des fonctionnalités que je n'arrive pas pour le moment à comprendre.
Merci de m'aider sur le sujet !
Je suis actuellement en train de travailler sur un prototype de jeu de carte à collectionner (Hearthstone, Magic...). J'ai pour l'instant programmé un éditeur de carte avec EditorWindow qui me permet de sauvegarder les cartes dans un ScriptableObject ainsi qu'un système de combat basique.
Après diverses avis que j'ai pu trouver sur des forums, j'ai vu qu'il était conseillé de faire un système de Delegates qui gèrerais les effets de toutes les cartes du jeu ainsi qu'un système d’événement pour gérer tous les événements récurrent du jeu (Quand on pose une carte, quand une carte meurt, au début du tour...). Seulement je n'avais jamais utilisé UnityEvent jusque la et n'ai donc aucune idée de la manière de mettre en place ce système malgré les nombreuses recherches que j'ai pu effectuer.
Voila les questions que je me pose :
Comment définir un nouvel événement, tel que "lorsqu'une invocation attaque" ou encore "Au début du tour de l'adversaire".
Comment stocker les effets de chaque carte de manière à ne pas devoir créer un script différents pour chaque carte?
De manière très général, comment penser l'architecture du programme?
j'ai trouvé ce lien : qui m'a permis de mieux cerner le sujet mais les bouts de codes qui s'y trouvent sont incomplet et ne me permettent pas de comprendre réellement le système qui est mis en place
https://forum.unity3d.com/threads/how-w ... me.403611/
J'ai conscience que ma question est très vague et bien entendu je n'attend pas une réponse clef en main mais simplement des pistes ou une explication des fonctionnalités que je n'arrive pas pour le moment à comprendre.
Merci de m'aider sur le sujet !