Adds damage immunities to the monster editor.

This commit is contained in:
2021-03-22 18:00:40 -07:00
parent 69b207177c
commit ae287d0551
2 changed files with 10 additions and 0 deletions

View File

@@ -51,6 +51,7 @@ class MonsterViewModel: ObservableObject {
@Published var charismaSavingThrowProficiency: ProficiencyType @Published var charismaSavingThrowProficiency: ProficiencyType
@Published var charismaSavingThrowAdvantage: AdvantageType @Published var charismaSavingThrowAdvantage: AdvantageType
@Published var skills: [SkillViewModel] @Published var skills: [SkillViewModel]
@Published var damageImmunities: [DamageTypeViewModel]
@Published var conditionImmunities: [DamageTypeViewModel] @Published var conditionImmunities: [DamageTypeViewModel]
init(_ rawMonster: Monster?) { init(_ rawMonster: Monster?) {
@@ -93,6 +94,7 @@ class MonsterViewModel: ObservableObject {
self.charismaSavingThrowAdvantage = .none self.charismaSavingThrowAdvantage = .none
self.charismaSavingThrowProficiency = .none self.charismaSavingThrowProficiency = .none
self.skills = [] self.skills = []
self.damageImmunities = []
self.conditionImmunities = [] self.conditionImmunities = []
if (rawMonster != nil) { if (rawMonster != nil) {
@@ -141,6 +143,10 @@ class MonsterViewModel: ObservableObject {
self.charismaSavingThrowAdvantage = monster.charismaSavingThrowAdvantageEnum self.charismaSavingThrowAdvantage = monster.charismaSavingThrowAdvantageEnum
self.charismaSavingThrowProficiency = monster.charismaSavingThrowProficiencyEnum self.charismaSavingThrowProficiency = monster.charismaSavingThrowProficiencyEnum
self.skills = (monster.skills?.allObjects.map {SkillViewModel(($0 as! Skill))})!.sorted() self.skills = (monster.skills?.allObjects.map {SkillViewModel(($0 as! Skill))})!.sorted()
self.damageImmunities = monster.damageImmunitiesArray
.map {DamageTypeViewModel($0)}
.sorted()
self.conditionImmunities = monster.conditionImmunitiesArray self.conditionImmunities = monster.conditionImmunitiesArray
.map {DamageTypeViewModel($0)} .map {DamageTypeViewModel($0)}

View File

@@ -44,6 +44,10 @@ struct EditMonster: View {
"Skills", "Skills",
destination: EditSkills(monsterViewModel: monsterViewModel)) destination: EditSkills(monsterViewModel: monsterViewModel))
NavigationLink(
"Damage Immunities",
destination: EditDamageTypes(viewModel: monsterViewModel, path: \.damageImmunities))
NavigationLink( NavigationLink(
"Condition Immunities", "Condition Immunities",
destination: EditDamageTypes(viewModel: monsterViewModel, path: \.conditionImmunities)) destination: EditDamageTypes(viewModel: monsterViewModel, path: \.conditionImmunities))