package com.github.retro_game.retro_game.dto; import io.vavr.Tuple2; import java.util.Map; public class EmpireSummaryDto<T> { private final T diameter; private final T usedFields; private final T maxFields; private final T temperature; private final Tuple2<ResourcesDto, T> resources; private final T availableEnergy; private final T totalEnergy; private final Tuple2<ResourcesDto, T> productionHourly; private final Tuple2<ResourcesDto, T> productionDaily; private final Tuple2<ResourcesDto, T> productionWeekly; private final Tuple2<ResourcesDto, T> production30days; private final Tuple2<ResourcesDto, T> capacity; private final Map<BuildingKindDto, Tuple2<T, T>> buildings; private final Map<UnitKindDto, Tuple2<T, T>> units; public EmpireSummaryDto(T diameter, T usedFields, T maxFields, T temperature, Tuple2<ResourcesDto, T> resources, T availableEnergy, T totalEnergy, Tuple2<ResourcesDto, T> productionHourly, Tuple2<ResourcesDto, T> productionDaily, Tuple2<ResourcesDto, T> productionWeekly, Tuple2<ResourcesDto, T> production30days, Tuple2<ResourcesDto, T> capacity, Map<BuildingKindDto, Tuple2<T, T>> buildings, Map<UnitKindDto, Tuple2<T, T>> units) { this.diameter = diameter; this.usedFields = usedFields; this.maxFields = maxFields; this.temperature = temperature; this.resources = resources; this.availableEnergy = availableEnergy; this.totalEnergy = totalEnergy; this.productionHourly = productionHourly; this.productionDaily = productionDaily; this.productionWeekly = productionWeekly; this.production30days = production30days; this.capacity = capacity; this.buildings = buildings; this.units = units; } public T getDiameter() { return diameter; } public T getUsedFields() { return usedFields; } public T getMaxFields() { return maxFields; } public T getTemperature() { return temperature; } public Tuple2<ResourcesDto, T> getResources() { return resources; } public T getAvailableEnergy() { return availableEnergy; } public T getTotalEnergy() { return totalEnergy; } public Tuple2<ResourcesDto, T> getProductionHourly() { return productionHourly; } public Tuple2<ResourcesDto, T> getProductionDaily() { return productionDaily; } public Tuple2<ResourcesDto, T> getProductionWeekly() { return productionWeekly; } public Tuple2<ResourcesDto, T> getProduction30days() { return production30days; } public Tuple2<ResourcesDto, T> getCapacity() { return capacity; } public Map<BuildingKindDto, Tuple2<T, T>> getBuildings() { return buildings; } public Map<UnitKindDto, Tuple2<T, T>> getUnits() { return units; } }