Sebastian
07/09/2024, 5:26 AMSam
07/09/2024, 7:35 AMenum class Season(
val goodModifier: Double,
val badModifier: Double
) {
Summer(1.20, 0.90),
Fall(…, …),
Winter(…, …),
Spring(…, …)
}
Then you just use valueOf()
to get a season by name:
val season = Season.valueOf("Summer").goodModifier
Sam
07/09/2024, 7:35 AMval seasons = mapOf("Summer" to Summer, …)
Sebastian
07/09/2024, 12:54 PMSam
07/09/2024, 12:58 PMenum class MyEnum {
Foo, Bar;
val greeting = "Hello, $name"
}
println(Foo.greeting) // "Hello, Foo"
Sebastian
07/09/2024, 4:58 PM// Seasons variables
public val currentSeason = findSeason()
public var currentGoodSeasonName = currentSelectedAbility.preferedSeason
public var currentBadSeasonName = currentSelectedAbility.nonPreferedSeason
public var currentGoodSeasonModifier = Seasons.currentSeason.goodModifier
public var currentBadSeasonModifier = currentSeason.badModifier
public enum class Seasons(goodModifier: Double, badModifier: Double, name: String) {
Summer(1.20,0.90, "Summer"),
Winter(1.20,0.90, "Winter"),
Spring(1.20,0.90, "Spring"),
Autumn(1.20,0.90, "Autumn")
}
Sam
07/09/2024, 4:59 PMvalueOf
function to get from the String to the objectSam
07/09/2024, 5:00 PMSebastian
07/09/2024, 5:42 PMSam
07/09/2024, 5:43 PMval
keyword in your constructor propertiesSebastian
07/09/2024, 5:50 PMSam
07/09/2024, 5:52 PMval
, they're constructor parameters that will be available during initialisation, but not after. Adding the val
keyword assigns them to properties that can be accessed later on.Sebastian
07/09/2024, 5:52 PM