Есть также таблица fabric_instances (экземпляры для конкретной игры). Каждая фабрика за один ход может производить различные действия - добывать ресурсы, строить машины, строить другие фабрики и т.д. Вопрос - как лучше хранить информацию о том, что фабрика делает? Использую алхимию для бд. Думал сделать так - сохранять информацию о действиях фабрики в отдельной колонке, а при создании объекта при session.query() (или каким-то другим образом) присваивать объекту функцию .do() из списка доступных, и потом в коде вызывать уже fabric_inst.do(). Норм решение или херня? Какие есть ещё возможные варианты?
Можно таблицу со всеми возможными действиями, к ним будет ФК от каждогоо инстанса. В таблице на каждое действие будет всё, что надо для его имплементации и экзекуции. Хоть код в текстовом поле. Так можно унифицированным методом потом все действия одинаково исполнять одним методом . Я бы так сделал, вместо того, чтобы тянуть ещё какие-то сущности для подстановки функций.
Обсуждают сегодня