/// <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); } }