Ejemplo n.º 1
0
        /// <summary>
        /// Начать звонок
        /// </summary>
        private void StartCall(Client player, object[] args)
        {
            var playerInfo = _playerInfoManager.GetInfo(player);

            if (playerInfo.PhoneBalance < CALL_COST)
            {
                CancelPhoneAction(player, "Недостаточно средств для совершения звонка");
                return;
            }
            var number = Convert.ToInt32(args[0]);
            var callee = _playerInfoManager.GetByNumber(number);

            if (callee == null)
            {
                CancelPhoneAction(player, "Игрок не найден в сети");
                return;
            }
            if (HasActiveCall(callee))
            {
                CancelPhoneAction(player, "Игрок уже говорит с кем-то");
                return;
            }
            player.setData(DATA_CALL_OPPONENT, callee);
            player.setData(DATA_CALL_STATUS, false);
            player.setData(DATA_CALL_IS_CALLER, true);
            callee.setData(DATA_CALL_OPPONENT, player);
            callee.setData(DATA_CALL_STATUS, false);
            API.sendPictureNotificationToPlayer(callee, $"Телефонный звонок от {player.name}", "CHAR_CHAT_CALL", 0, 0, $"{player.name}", "Входящий вызов");
        }