Gostaria de saber se existe uma maneira de atualizar automaticamente o valor em um dicionário com base nas alterações feitas nos valores de outro dicionário. Eu tenho 2 dicionários como segue:
enum CharacterAttributes: String, Codable {
case strength
case constitution
case dexterity
case intelligence
}
enum CharacterStats: String, Codable {
case maxHealthPoint
case maxTacticPoint
case maxActionPoint
case movementSpeed
}
var attributes = [CharacterAttributes: Float]()
var stats = [CharacterStats: Float]()
As lógicas são:
stats[.maxHealthPoint] = attributes[.constitution] * 100
stats[.maxTacticPoint] = (attributes[.dexterity] + attributes[.intelligence]) * 1.5
stats[.maxActionPoint] = attributes[.constitution] * 10
stats[.movementSpeed] = attributes[.dexterity] + 70
O que eu quero alcançar é que sempre que um valor for alterado no dicionário de atributos, os valores correspondentes nas estatísticas sejam atualizados automaticamente. Eu sei que para uma variável normal posso usar a palavra-chave didSet, mas como aplicar o conceito aos dicionários?
Agradecemos antecipadamente por qualquer ajuda.