Adds damage vulnerabilities to the monster editor.

This commit is contained in:
2021-03-22 18:02:05 -07:00
parent f90227bc29
commit 2b6741b5dc
2 changed files with 10 additions and 0 deletions

View File

@@ -53,6 +53,7 @@ class MonsterViewModel: ObservableObject {
@Published var skills: [SkillViewModel] @Published var skills: [SkillViewModel]
@Published var damageImmunities: [DamageTypeViewModel] @Published var damageImmunities: [DamageTypeViewModel]
@Published var damageResistances: [DamageTypeViewModel] @Published var damageResistances: [DamageTypeViewModel]
@Published var damageVulnerabilities: [DamageTypeViewModel]
@Published var conditionImmunities: [DamageTypeViewModel] @Published var conditionImmunities: [DamageTypeViewModel]
init(_ rawMonster: Monster?) { init(_ rawMonster: Monster?) {
@@ -97,6 +98,7 @@ class MonsterViewModel: ObservableObject {
self.skills = [] self.skills = []
self.damageImmunities = [] self.damageImmunities = []
self.damageResistances = [] self.damageResistances = []
self.damageVulnerabilities = []
self.conditionImmunities = [] self.conditionImmunities = []
if (rawMonster != nil) { if (rawMonster != nil) {
@@ -154,6 +156,10 @@ class MonsterViewModel: ObservableObject {
.map {DamageTypeViewModel($0)} .map {DamageTypeViewModel($0)}
.sorted() .sorted()
self.damageVulnerabilities = monster.damageVulnerabilitiesArray
.map {DamageTypeViewModel($0)}
.sorted()
self.conditionImmunities = monster.conditionImmunitiesArray self.conditionImmunities = monster.conditionImmunitiesArray
.map {DamageTypeViewModel($0)} .map {DamageTypeViewModel($0)}
.sorted() .sorted()

View File

@@ -55,6 +55,10 @@ struct EditMonster: View {
NavigationLink( NavigationLink(
"Condition Immunities", "Condition Immunities",
destination: EditDamageTypes(viewModel: monsterViewModel, path: \.conditionImmunities)) destination: EditDamageTypes(viewModel: monsterViewModel, path: \.conditionImmunities))
NavigationLink(
"Damage Vulnerabilities",
destination: EditDamageTypes(viewModel: monsterViewModel, path: \.damageVulnerabilities))
} }
.onAppear(perform: copyMonsterToLocal) .onAppear(perform: copyMonsterToLocal)
.toolbar(content: { .toolbar(content: {