Я ищу, чтобы создать сцену-граф для моего F # проекта Somthing как:дискриминированных союзы и наследование
root
->player_bob
-->torch
->enemy_1
-->extravagant_hat
-->enemies_cat_jess
--->fleas
--->fur_ball
->loot
и т.д., и т.д..
Каждый предмет должен содержать коллекцию игровых объектов для представления своих детей.
enemy1 например Перечислит содержит кошку и шляпу, и список кошек содержат блоха и мехового мяч
Так что я планирую сделать их все наследовать от класса, который содержит коллекцию, которая описывает, что объекты детей.
Теперь мой вопрос: Должен ли я вниз отливка ребенок возражает GameObject-х и хранить их в списке «геймобжекты» базового класса или создать разборчивого накидной например
type SceneObject =
|Character of Character //e.g player, enemy, cat
|Item of Item //e.g hat, torch, furball
И магазин объекты в виде списка «SceneObjects», чтобы избежать проблем/накладных расходов с их перетаскиванием и т. д. Также, позволяя описывать особые случаи, когда объект не отображается и/или не используется при обнаружении конфликтов, например: звуковые излучатели , триггеры ловушек и т. д.
Дискриминационный союз + наследование комбо - моя первоначальная мысль; хотя, поскольку я новичок в FP, я подумал, что было бы разумно спросить профессионала о лучшем, функциональном, способе приблизиться к этому.
Спасибо,
JD
Блестящий! Это устраняет необходимость в наследовании: ¬) Спасибо Дарио, половина моей проблемы с обучением FP вытаскивает мою голову из земли OO. – jdoig