вопрос о необходимости нескольких делегатов при создании системы событий - PullRequest
0 голосов
/ 11 июля 2019

Я играю с еще не законченной игрой, и я вижу этот кусок кода.

//Events
public delegate void planePhase();
public static event planePhase shiftPhazeEvent;
public static event planePhase shiftPhazeEndEvent;

public delegate void walkingLeft();
public static event walkingLeft changeDiractionEvent;

public delegate void playerDied();
public static event playerDied playerDiedEvent;
public static event playerDied levelEndedEvent;
public static event playerDied levelLoadedEvent;
public static event playerDied levelResetartEvent;

Теперь мой вопрос: в чем разница между написанным и

//Events
public delegate void SomeEvent();
public static event SomeEvent shiftPhazeEvent;
public static event SomeEvent shiftPhazeEndEvent;

public static event SomeEvent changeDiractionEvent;

public static event SomeEvent playerDiedEvent;
public static event SomeEvent levelEndedEvent;
public static event SomeEvent  levelLoadedEvent;
public static event SomeEvent levelResetartEvent;

Есть ли причина разделять события на несколько делегатов, если вы все равно подписываетесь только на имя события?

Единственный сценарий, в котором я вижу разницу, заключается в том, если вы хотите на каком-то этапе удалить группу изфункций и не хочу перебирать весь делегат, так что вы можете просто обнулить один из них.

есть ли смысл в этом?или это главная причина?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...