diff --git a/MonsterCards.xcodeproj/project.pbxproj b/MonsterCards.xcodeproj/project.pbxproj index 31591b6..8aa3923 100644 --- a/MonsterCards.xcodeproj/project.pbxproj +++ b/MonsterCards.xcodeproj/project.pbxproj @@ -46,8 +46,8 @@ E2CB0DC526086E5F00142591 /* SizeType.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2CB0DC426086E5F00142591 /* SizeType.swift */; }; E2CB0DCA26086E8300142591 /* ArmorType.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2CB0DC926086E8300142591 /* ArmorType.swift */; }; E2CB0DD72608720000142591 /* StringHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2CB0DD62608720000142591 /* StringHelper.swift */; }; - E2CB0DE1260887ED00142591 /* DamageTypesViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2CB0DE0260887ED00142591 /* DamageTypesViewModel.swift */; }; - E2CB0DE626088CE400142591 /* EditDamageTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2CB0DE526088CE400142591 /* EditDamageTypes.swift */; }; + E2CB0DE1260887ED00142591 /* StringViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2CB0DE0260887ED00142591 /* StringViewModel.swift */; }; + E2CB0DE626088CE400142591 /* EditStrings.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2CB0DE526088CE400142591 /* EditStrings.swift */; }; E2D473FD25B532C900CB36D7 /* Color+Hex.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2D473FC25B532C900CB36D7 /* Color+Hex.swift */; }; /* End PBXBuildFile section */ @@ -114,8 +114,8 @@ E2CB0DC426086E5F00142591 /* SizeType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SizeType.swift; sourceTree = ""; }; E2CB0DC926086E8300142591 /* ArmorType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArmorType.swift; sourceTree = ""; }; E2CB0DD62608720000142591 /* StringHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StringHelper.swift; sourceTree = ""; }; - E2CB0DE0260887ED00142591 /* DamageTypesViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DamageTypesViewModel.swift; sourceTree = ""; }; - E2CB0DE526088CE400142591 /* EditDamageTypes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditDamageTypes.swift; sourceTree = ""; }; + E2CB0DE0260887ED00142591 /* StringViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StringViewModel.swift; sourceTree = ""; }; + E2CB0DE526088CE400142591 /* EditStrings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EditStrings.swift; sourceTree = ""; }; E2D473FC25B532C900CB36D7 /* Color+Hex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Color+Hex.swift"; sourceTree = ""; }; /* End PBXFileReference section */ @@ -228,7 +228,7 @@ E24ACE5F2607F45E009BF703 /* EditAbilityScores.swift */, E24ACE552607EE94009BF703 /* EditArmor.swift */, E24ACE4F2607326E009BF703 /* EditBasicInfo.swift */, - E2CB0DE526088CE400142591 /* EditDamageTypes.swift */, + E2CB0DE526088CE400142591 /* EditStrings.swift */, E2B5285825B3028700AAA69E /* EditMonster.swift */, E24ACE642607F55D009BF703 /* EditSavingThrows.swift */, E2CB0DB226080C0500142591 /* EditSkill.swift */, @@ -251,7 +251,7 @@ E257101225B1B2790055B23B /* Models */ = { isa = PBXGroup; children = ( - E2CB0DE0260887ED00142591 /* DamageTypesViewModel.swift */, + E2CB0DE0260887ED00142591 /* StringViewModel.swift */, E20209E625D8DEB600EFE733 /* Enums */, E2182E6225B22F8A00DFAEF8 /* Monster+CoreDataClass.swift */, E20209FA25D8E19100EFE733 /* MonsterViewModel.swift */, @@ -421,11 +421,11 @@ E20209FC25D8E19100EFE733 /* MonsterViewModel.swift in Sources */, E2570FFF25B1AE180055B23B /* Library.swift in Sources */, E2BD703125B3BBB90058ED69 /* MCStepperField.swift in Sources */, - E2CB0DE626088CE400142591 /* EditDamageTypes.swift in Sources */, + E2CB0DE626088CE400142591 /* EditStrings.swift in Sources */, E2CB0DB326080C0500142591 /* EditSkill.swift in Sources */, E2CB0DCA26086E8300142591 /* ArmorType.swift in Sources */, E24ACE562607EE94009BF703 /* EditArmor.swift in Sources */, - E2CB0DE1260887ED00142591 /* DamageTypesViewModel.swift in Sources */, + E2CB0DE1260887ED00142591 /* StringViewModel.swift in Sources */, E20209F425D8E04300EFE733 /* ProficiencyType.swift in Sources */, E2CB0DC526086E5F00142591 /* SizeType.swift in Sources */, E2570FFA25B1AE020055B23B /* Collections.swift in Sources */, diff --git a/MonsterCards/Models/MonsterViewModel.swift b/MonsterCards/Models/MonsterViewModel.swift index d7e1220..1d65613 100644 --- a/MonsterCards/Models/MonsterViewModel.swift +++ b/MonsterCards/Models/MonsterViewModel.swift @@ -49,10 +49,10 @@ class MonsterViewModel: ObservableObject { @Published var charismaSavingThrowProficiency: ProficiencyType @Published var charismaSavingThrowAdvantage: AdvantageType @Published var skills: [SkillViewModel] - @Published var damageImmunities: [DamageTypeViewModel] - @Published var damageResistances: [DamageTypeViewModel] - @Published var damageVulnerabilities: [DamageTypeViewModel] - @Published var conditionImmunities: [DamageTypeViewModel] + @Published var damageImmunities: [StringViewModel] + @Published var damageResistances: [StringViewModel] + @Published var damageVulnerabilities: [StringViewModel] + @Published var conditionImmunities: [StringViewModel] init(_ rawMonster: Monster? = nil) { self.name = "" @@ -146,19 +146,19 @@ class MonsterViewModel: ObservableObject { self.skills = (monster.skills?.allObjects.map {SkillViewModel(($0 as! Skill))})!.sorted() self.damageImmunities = (monster.damageImmunities ?? []) - .map {DamageTypeViewModel($0)} + .map {StringViewModel($0)} .sorted() self.damageResistances = (monster.damageResistances ?? []) - .map {DamageTypeViewModel($0)} + .map {StringViewModel($0)} .sorted() self.damageVulnerabilities = (monster.damageVulnerabilities ?? []) - .map {DamageTypeViewModel($0)} + .map {StringViewModel($0)} .sorted() self.conditionImmunities = (monster.conditionImmunities ?? []) - .map {DamageTypeViewModel($0)} + .map {StringViewModel($0)} .sorted() } diff --git a/MonsterCards/Models/DamageTypesViewModel.swift b/MonsterCards/Models/StringViewModel.swift similarity index 55% rename from MonsterCards/Models/DamageTypesViewModel.swift rename to MonsterCards/Models/StringViewModel.swift index 6a07199..d95e417 100644 --- a/MonsterCards/Models/DamageTypesViewModel.swift +++ b/MonsterCards/Models/StringViewModel.swift @@ -7,12 +7,12 @@ import Foundation -class DamageTypeViewModel: ObservableObject, Comparable, Identifiable { - static func < (lhs: DamageTypeViewModel, rhs: DamageTypeViewModel) -> Bool { +class StringViewModel: ObservableObject, Comparable, Identifiable { + static func < (lhs: StringViewModel, rhs: StringViewModel) -> Bool { lhs.name < rhs.name } - static func == (lhs: DamageTypeViewModel, rhs: DamageTypeViewModel) -> Bool { + static func == (lhs: StringViewModel, rhs: StringViewModel) -> Bool { lhs.name == rhs.name } diff --git a/MonsterCards/Views/EditMonster.swift b/MonsterCards/Views/EditMonster.swift index f5e9f8b..ea62540 100644 --- a/MonsterCards/Views/EditMonster.swift +++ b/MonsterCards/Views/EditMonster.swift @@ -46,19 +46,19 @@ struct EditMonster: View { NavigationLink( "Condition Immunities", - destination: EditDamageTypes(viewModel: monsterViewModel, path: \.conditionImmunities, title: "Condition Immunities")) + destination: EditStrings(viewModel: monsterViewModel, path: \.conditionImmunities, title: "Condition Immunities")) NavigationLink( "Damage Immunities", - destination: EditDamageTypes(viewModel: monsterViewModel, path: \.damageImmunities, title: "Damage Immunities")) + destination: EditStrings(viewModel: monsterViewModel, path: \.damageImmunities, title: "Damage Immunities")) NavigationLink( "Damage Resistances", - destination: EditDamageTypes(viewModel: monsterViewModel, path: \.damageResistances, title: "Damage Resistances")) + destination: EditStrings(viewModel: monsterViewModel, path: \.damageResistances, title: "Damage Resistances")) NavigationLink( "Damage Vulnerabilities", - destination: EditDamageTypes(viewModel: monsterViewModel, path: \.damageVulnerabilities, title: "Damage Vulnerabilities")) + destination: EditStrings(viewModel: monsterViewModel, path: \.damageVulnerabilities, title: "Damage Vulnerabilities")) } .onAppear(perform: copyMonsterToLocal) .toolbar(content: { diff --git a/MonsterCards/Views/EditDamageTypes.swift b/MonsterCards/Views/EditStrings.swift similarity index 79% rename from MonsterCards/Views/EditDamageTypes.swift rename to MonsterCards/Views/EditStrings.swift index a97f19d..8876495 100644 --- a/MonsterCards/Views/EditDamageTypes.swift +++ b/MonsterCards/Views/EditStrings.swift @@ -1,5 +1,5 @@ // -// EditDamageTypes.swift +// EditStrings.swift // MonsterCards // // Created by Tom Hicks on 3/22/21. @@ -7,9 +7,9 @@ import SwiftUI -struct EditDamageTypes: View { +struct EditStrings: View { @ObservedObject var viewModel: MonsterViewModel - var path: ReferenceWritableKeyPath + var path: ReferenceWritableKeyPath var title: String var body: some View { @@ -33,7 +33,7 @@ struct EditDamageTypes: View { .toolbar(content: { Button( action: { - let newDamageType = DamageTypeViewModel() + let newDamageType = StringViewModel() viewModel[keyPath: path].append(newDamageType) viewModel[keyPath: path] = viewModel[keyPath: path].sorted() }, @@ -48,9 +48,9 @@ struct EditDamageTypes: View { } } -struct EditDamageTypes_Previews: PreviewProvider { +struct EditStrings_Previews: PreviewProvider { static var previews: some View { let viewModel = MonsterViewModel() - EditDamageTypes(viewModel: viewModel, path: \.damageImmunities, title: "Damage Types") + EditStrings(viewModel: viewModel, path: \.damageImmunities, title: "Damage Types") } }