예제 #1
0
 /// <summary>
 /// Стандартный конструктор
 /// </summary>
 /// <param name="parButtonToCheck">Игровая кнопка-действие, которое нужно проверять</param>
 /// <param name="parPlayerToCheck">Игрок, которого нужно проверять</param>
 /// <param name="parPerformOnSuccess">Действия при нажатии на проверяемую игровую кнопку</param>
 /// <param name="parAutoRemove">Следует ли убрать действие после первого успешного выполнения</param>
 public KeyListenerData(EGameActionButton parButtonToCheck, MPlayer parPlayerToCheck, Action parPerformOnSuccess,
                        bool parAutoRemove)
 {
     ButtonToCheck    = parButtonToCheck;
     PlayerToCheck    = parPlayerToCheck;
     PerformOnSuccess = parPerformOnSuccess;
     AutoRemove       = parAutoRemove;
 }
예제 #2
0
 /// <summary>
 /// Получить состояние определенной игровой кнопки
 /// </summary>
 /// <param name="parId">Тип игровой кнопки</param>
 /// <returns></returns>
 public MGameActionButton GetGameActionButton(EGameActionButton parId)
 {
     if (GameActionButtons.ContainsKey(parId))
     {
         return(GameActionButtons[parId]);
     }
     else
     {
         return(new MGameActionButton());
     }
 }
예제 #3
0
        /// <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());
        }
예제 #4
0
 /// <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);
 }
예제 #5
0
 /// <summary>
 /// Отпущена ли сейчас игровая кнопка игроком? Отпускание кнопки является событие перехода кнопки
 /// из состояния "зажата" в состояние "не нажата"
 /// </summary>
 /// <param name="parPlayerRef">Ссылка на объект информации об игроке</param>
 /// <param name="parButtonId">Тип игровой кнопки</param>
 /// <returns></returns>
 public bool IsButtonReleased(MPlayer parPlayerRef, EGameActionButton parButtonId)
 {
     return(parPlayerRef.GetGameActionButton(parButtonId).IsReleasedFrame);
 }