Показать сообщение отдельно
Старый 09.09.2017, 16:26
Nooob вне форума Посмотреть профиль Отправить личное сообщение для Nooob Найти все сообщения от Nooob
  № 16  
Nooob
 
Аватар для Nooob

Регистрация: Mar 2007
Сообщений: 319
Цитата:
Сообщение от Appleman Посмотреть сообщение
Я правильно понял логику, что условно все шаблоны и правила расчёта игровой механики "живут" в data, а в model производятся только непосредственные "живые" расчёты для конкретных игровых ситуаций? То есть если действие "пендель" условно наносится с расстояния полметра, а его урон зависит от массы тапка персонажа и его умения бить ногами, то всё это хозяйство прописывается в качестве методов класса game.data.pendel, чтобы потом быть импортированным в model для расчёта по актуальным значениям. Или нет?
Если расчеты основываются на константных данных, то они живут в data. к примеру есть статические препятствия и нужен метод который определяет пересекает ли луч эти препятствия, этот метод пишется в ObstaclesData, для того что-бы можно было применить эту математику в любом независимо от модели месте, во view, на кнопке атаки или в прицеле, или рисовать ли препятствие на сцене. или другой пример есть некий персонаж у него есть дерево умений, каждое умение можно изучить выполнив некий список условий (предыдущее умение изучено, достаточно энергии, есть нужный предмет в инвентаре), этот метод я бы тоже располагал в data, так как на этот момент еще нету модели этого конкретного умения (оно еще не изучено), а его состояние нужно рисовать в интерфейсе. альтернативный пример есть кнопка атаки другого персонажа, которая становится активной когда в радиусе есть враги, этот метод проверки доступности атаки я бы расположил в model.
твой пример с пенделем можно располагать в data, но если в игре появляются бафы которые влияют на массу тапка и его умения и его урон, то это перестает быть константными данными, и по большей части все данные уже берутся из модели, и логичнее всего такой метод переложить в model
__________________
RocketJump