/// <summary> /// Получить состояние игровой кнопки для определенного игрока /// </summary> /// <param name="parPlayerId">Идентификатор игрока</param> /// <param name="parActionId">Тип игровой кнопки</param> /// <returns></returns> public MGameActionButton GetGameActionButton(string parPlayerId, EGameActionButton parActionId) { MPlayer foundPlayer = _players.FirstOrDefault(parX => parX.PlayerId == parPlayerId); if (foundPlayer != null) { if (foundPlayer.IsActive) { return(foundPlayer.GetGameActionButton(parActionId)); } } return(new MGameActionButton()); }
/// <summary> /// Удерживает ли игрок определенную игровую кнопку? /// </summary> /// <param name="parPlayerRef">Ссылка на объект информации об игроке</param> /// <param name="parButtonId">Тип игровой кнопки</param> /// <returns>True, если удерживает</returns> public bool IsButtonHolding(MPlayer parPlayerRef, EGameActionButton parButtonId) { return(parPlayerRef.GetGameActionButton(parButtonId).IsHolding); }
/// <summary> /// Отпущена ли сейчас игровая кнопка игроком? Отпускание кнопки является событие перехода кнопки /// из состояния "зажата" в состояние "не нажата" /// </summary> /// <param name="parPlayerRef">Ссылка на объект информации об игроке</param> /// <param name="parButtonId">Тип игровой кнопки</param> /// <returns></returns> public bool IsButtonReleased(MPlayer parPlayerRef, EGameActionButton parButtonId) { return(parPlayerRef.GetGameActionButton(parButtonId).IsReleasedFrame); }