Je cherche à créer une scène graphique pour mon projet F # somthing comme:syndicats discriminées et l'héritage
root
->player_bob
-->torch
->enemy_1
-->extravagant_hat
-->enemies_cat_jess
--->fleas
--->fur_ball
->loot
etc, etc.
Chaque objet doit contenir une collection d'objets de jeu pour représenter ses enfants.
par exemple la liste ennemi1 contient un chat et un chapeau et la liste des chats contient des puces et une boule de poils
donc je prévois de les faire tous hériter d'une classe qui contient une collection qui décrit que les objets enfants.
maintenant à ma question: Dois-je les objets enfants en bas-jeté à son gameobject et de les stocker dans une liste de la classe de base « gameobject » OU créer une union de discrimination par exemple
type SceneObject =
|Character of Character //e.g player, enemy, cat
|Item of Item //e.g hat, torch, furball
Et magasin des objets comme une liste de "SceneObjects" pour éviter les problèmes/overheads avec les monter, etc. En plus de me permettre de décrire des cas spéciaux où l'objet n'est pas rendu et/ou pas utilisé dans la détection de collision par ex. , déclencheurs de pièges, etc.
La combinaison discriminée union + héritage est ma pensée initiale; Cependant, comme je suis nouveau à la FP, j'ai pensé qu'il serait sage de demander aux professionnels de la meilleure manière, fonctionnelle, d'aborder cela.
Merci,
JD
Brillant! Cela élimine le besoin de l'héritage: ¬) Merci Dario, la moitié de mon problème avec l'apprentissage FP me tire la tête hors de la terre OO. – jdoig