StatModifier.gd 728 B

1234567891011121314151617181920212223
  1. extends Resource
  2. class_name StatModifier
  3. #
  4. @export var _effect : CellCommons.Modifier = CellCommons.Modifier.None
  5. @export var _value : Variant = 0.0
  6. @export var _persistent : bool = false
  7. #
  8. func Parse(data : Array):
  9. var arraySize : int = data.size()
  10. assert(arraySize == 3, "Could not parse stat modifier from array, size mismatches")
  11. if arraySize == 3:
  12. assert(data[0] is CellCommons.Modifier, "Stat modifier first parameter is not a StringName, could not parse from array")
  13. assert(data[2] is bool, "Stat modifier third parameter is not a bool, could not parse from array")
  14. if data[0] is not CellCommons.Modifier or data[2] is not bool:
  15. return
  16. _effect = data[0]
  17. _value = data[1]
  18. _persistent = data[2]