Ты уверен, что Random даст хорошее распределение на целые числа? PlayerPawnчто это такое? Ты не на UE4|5 пишешь, а в Unity, и тут не Акторная архитектура, а EC (Enitity Component).
Твой дайс роллер - ужасен. ... Сделай класс Dice,который имеет определнные типы. Унаследуй от него или передавай Enum с типом дайсов.
У каждого Dice должна быть функция Roll, которая ролит его. currentValue - должно возвращать текущее положение дайса. По дефолту значение NaN. Так же задай дайсам поле для тега. Что бы помечать дайсу тип урона. В будущем это развяжет тебе руки ... Сделай класс PoolDice. Это класс агрегатор. Он агрегирует в себе набор дайсов и кидает каждый кубит по отдельности. Это позволит тебе честно бросать комбинации разных кубиков.
... Сделай класс PollDiceResult Этот класс хранит в себе брошенный набор кубиков и имеет набор методов для сортировки кубиков и выдачу результатов для вывода в лог и прочего. Так же полезно для хранение истории
``` Опционально, сделай класс DiceResult, что бы не хранить сам результат в Dice, а получать результат как обьект рола.
``` Используй специализированные рандомайзеры, работающих на алгоритме PCG32 или аналогичном, с хорошим распределением целых чисел, что бы рандом игрока не склонился в какой нибудь абсурд
Ты уверен, что Random даст хорошее распределение на целые числа?
PlayerPawnчто это такое? Ты не на UE4|5 пишешь, а в Unity, и тут не Акторная архитектура, а EC (Enitity Component).
Твой дайс роллер - ужасен.
...
Сделай класс Dice,который имеет определнные типы.
Унаследуй от него или передавай Enum с типом дайсов.
У каждого Dice должна быть функция Roll, которая ролит его.
currentValue - должно возвращать текущее положение дайса. По дефолту значение NaN.
Так же задай дайсам поле для тега. Что бы помечать дайсу тип урона. В будущем это развяжет тебе руки
...
Сделай класс PoolDice.
Это класс агрегатор. Он агрегирует в себе набор дайсов и кидает каждый кубит по отдельности. Это позволит тебе честно бросать комбинации разных кубиков.
...
Сделай класс PollDiceResult
Этот класс хранит в себе брошенный набор кубиков и имеет набор методов для сортировки кубиков и выдачу результатов для вывода в лог и прочего. Так же полезно для хранение истории
```
Опционально, сделай класс DiceResult, что бы не хранить сам результат в Dice, а получать результат как обьект рола.
```
Используй специализированные рандомайзеры, работающих на алгоритме PCG32 или аналогичном, с хорошим распределением целых чисел, что бы рандом игрока не склонился в какой нибудь абсурд
Прям код ревью, а не комментарий
Кхм, нахуя такое усложнение, и типы
Комментарий недоступен