Есть ли способ создавать подклассы на лету?

Я создаю игру, в которой у меня есть несколько сложный метод создания сущностей.

Когда загружается уровень, код загрузки считывает кучу YAML-файлов, которые содержат атрибуты всех различных возможных единиц. Используя YAML-файл, он создает так называемый объект EntityResource. Этот объект EntityResource служит авторитетным источником информации при порождении новых единиц. Цель двоякая:

  1. Сдерживание мошенничества путем реализации проверки хэша на выходе YAML-файла
  2. Помощь в отладке путем получения всей информации о юнитах из одного авторитетного источника.

Эти объекты EntityResource затем подаются в объект EntityFactory для создания единиц определенного типа.

Мой вопрос заключается в следующем. Есть ли способ создавать подклассы EntityResource динамически, основываясь на содержимом считываемого YAML-файла?

Также я бы хотел, чтобы каждому из этих подклассов, созданных на основе YAML-файла, был присвоен метакласс singleton. Любые предостережения?

6
задан blz 13 February 2012 в 23:59
поделиться