Example #1
0
        /// <summary>
        /// Выдать награду каждому участнику
        /// </summary>
        private void SetRewardToMembers(IReadOnlyCollection <PlayerWithData> members, int rankBalance)
        {
            var memberReward = rankBalance / members.Count;

            if (memberReward == 0)
            {
                return;
            }
            foreach (var member in members)
            {
                if (member.PlayerInfo.IsPremium())
                {
                    memberReward += (int)(memberReward * 0.25);
                }
                member.PlayerInfo.Balance += memberReward;
                if (member.Player != null)
                {
                    API.sendNotificationToPlayer(member.Player, $"~b~Зачислена доля от банды в размере {memberReward}$");
                    _playerInfoManager.RefreshUI(member.Player, member.PlayerInfo);
                }
                else
                {
                    _playerInfoManager.Set(member.PlayerInfo);
                }
            }
        }
        /// <summary>
        /// Обработать данные владельца дома
        /// </summary>
        private void ProcessOwner(HouseInfo house)
        {
            var player = _playerInfoManager.GetWithData(house.OwnerId);

            if (PlayerHelper.PlayerCorrect(player.Player))
            {
                var houseId = PlayerHelper.GetData(player.Player, HouseMenuHandler.IN_HOUSE, NO_OWNER);
                if (houseId == house.Id)
                {
                    player.Player.resetData(HouseMenuHandler.IN_HOUSE);
                    API.setEntityPosition(player.Player, PositionConverter.ToVector3(house.Position));
                    API.setEntityDimension(player.Player, 0);
                }
                MoveVehiclesOnParking(player.PlayerInfo.Vehicles.Values, player.Player);
                _playerInfoManager.RefreshUI(player.Player, player.PlayerInfo);
                API.sendNotificationToPlayer(player.Player, "~b~Аренда дома подошла к концу");
            }
            else
            {
                MoveVehiclesOnParking(player.PlayerInfo.Vehicles.Values);
                player.PlayerInfo.LastPosition = house.Position;
                player.PlayerInfo.Dimension    = 0;
                _playerInfoManager.Set(player.PlayerInfo);
            }
        }