-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCreateCubeIntention.cs
More file actions
22 lines (22 loc) · 1.64 KB
/
CreateCubeIntention.cs
File metadata and controls
22 lines (22 loc) · 1.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
namespace MyGame
{
// Это "специальное" событие в игре, которое определяет намерение.
// Событие-намерение используется часто в системах, где система событий UI и система обработки
// сильно разделены друг от друга, и очень не хочется смешивать ответственности и "нести" в UI логику игры.
// Когда логика игры смешивается с логикой UI, то такую игру не только сложно тестировать, но и дополнять новыми механиками.
public struct CreateCubeIntention
{
// Нет необходимости в привязки Vector2D из Unity, так как в событии не должно быть алгоритмов обработки.
// Событие - это "маркированная капсула", которая должна перенести значения от издателя до подписчиков.
// И тестировать можно будет без использования Unity для той области игры, которая завязана только на логику игры, но не на представление.
public readonly float x;
public readonly float y;
public readonly bool on;
public CreateCubeIntention(float x, float y, bool on)
{
this.x = x;
this.y = y;
this.on = on;
}
}
}