28-12-2015, 07:16 PM
Salut,
je n'ai rien compris à la problématique
En revanche, les traits, je trouve que c'est franchement peu pratique à utiliser (souvent, autant avoir une classe dédié et faire de la composition).
"Passer plusieurs actions", cela veut dire quoi? Que tu as des actions, qu'elles s'enchainent et que tu veux permettre au joueur de "zapper" l'action suivante pour passer directement à celle d'après? Si oui, pour moi, il y a 1 classe par type d'action, 1 instance de classe par action, 1 classe "ChainableAction" qui permet de chainer des objets (chain of responsibility pattern), en l’occurrence, des actions (donc, ChainableAction prend en paramètre une action dans son constructeur et un ou plusieurs ChainableAction: l'action est l'action courante de ce ChainableAction, et les autres ChainableActions sont les actions qui suivront). Du coup, le zapping d'une action est du ressort de ChainableAction (ça sépare cette responsabilité des classes d'Action).
Mais bon, je ne suis pas sûr d'avoir compris le but du truc...
je n'ai rien compris à la problématique
En revanche, les traits, je trouve que c'est franchement peu pratique à utiliser (souvent, autant avoir une classe dédié et faire de la composition).
"Passer plusieurs actions", cela veut dire quoi? Que tu as des actions, qu'elles s'enchainent et que tu veux permettre au joueur de "zapper" l'action suivante pour passer directement à celle d'après? Si oui, pour moi, il y a 1 classe par type d'action, 1 instance de classe par action, 1 classe "ChainableAction" qui permet de chainer des objets (chain of responsibility pattern), en l’occurrence, des actions (donc, ChainableAction prend en paramètre une action dans son constructeur et un ou plusieurs ChainableAction: l'action est l'action courante de ce ChainableAction, et les autres ChainableActions sont les actions qui suivront). Du coup, le zapping d'une action est du ressort de ChainableAction (ça sépare cette responsabilité des classes d'Action).
Mais bon, je ne suis pas sûr d'avoir compris le but du truc...