Refactor character attributes system; replace individual attributes with a dictionary-based approach for better scalability and maintainability

This commit is contained in:
2025-08-02 06:06:51 +02:00
parent 93cbc4a3e5
commit 3871cba753
21 changed files with 505 additions and 417 deletions

View File

@@ -7087,20 +7087,281 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 44b572240c4243c9954bd19967bfeb64, type: 3}
m_Name:
m_EditorClassIdentifier:
attributes:
health: 100
maxHealth: 100
moveSpeed: 5
luck: 0
armor: 0
level: 1
experience: 0
baseExperienceToLevelUp: 5
damage: 1
rangedDamage: 1
meleeDamage: 1
attackRange: 1
attackSpeed: 1
serializationData:
SerializedFormat: 2
SerializedBytes:
ReferencedUnityObjects: []
SerializedBytesString:
Prefab: {fileID: 0}
PrefabModificationsReferencedUnityObjects: []
PrefabModifications: []
SerializationNodes:
- Name: attributes
Entry: 7
Data: 0|Data.CharacterAttributes, Assembly-CSharp
- Name: attributes
Entry: 7
Data: 1|System.Collections.Generic.Dictionary`2[[Data.Attribute, Assembly-CSharp],[Data.AttributeData`1[[System.Single,
mscorlib]], Assembly-CSharp]], mscorlib
- Name: comparer
Entry: 7
Data: 2|System.Collections.Generic.EnumEqualityComparer`1[[Data.Attribute,
Assembly-CSharp]], mscorlib
- Name:
Entry: 12
Data: 0
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 12
Data: 13
- Name:
Entry: 7
Data:
- Name: $k
Entry: 3
Data: 0
- Name: $v
Entry: 7
Data: 3|Data.AttributeData`1[[System.Single, mscorlib]], Assembly-CSharp
- Name: Value
Entry: 4
Data: 100
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 3
Data: 1
- Name: $v
Entry: 7
Data: 4|Data.AttributeData`1[[System.Single, mscorlib]], Assembly-CSharp
- Name: Value
Entry: 4
Data: 100
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 3
Data: 2
- Name: $v
Entry: 7
Data: 5|Data.AttributeData`1[[System.Single, mscorlib]], Assembly-CSharp
- Name: Value
Entry: 4
Data: 1
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 3
Data: 3
- Name: $v
Entry: 7
Data: 6|Data.AttributeData`1[[System.Single, mscorlib]], Assembly-CSharp
- Name: Value
Entry: 4
Data: 0
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 3
Data: 4
- Name: $v
Entry: 7
Data: 7|Data.AttributeData`1[[System.Single, mscorlib]], Assembly-CSharp
- Name: Value
Entry: 4
Data: 1
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 3
Data: 5
- Name: $v
Entry: 7
Data: 8|Data.AttributeData`1[[System.Single, mscorlib]], Assembly-CSharp
- Name: Value
Entry: 4
Data: 5
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 3
Data: 6
- Name: $v
Entry: 7
Data: 9|Data.AttributeData`1[[System.Single, mscorlib]], Assembly-CSharp
- Name: Value
Entry: 4
Data: 1
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 3
Data: 7
- Name: $v
Entry: 7
Data: 10|Data.AttributeData`1[[System.Single, mscorlib]], Assembly-CSharp
- Name: Value
Entry: 4
Data: 1
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 3
Data: 8
- Name: $v
Entry: 7
Data: 11|Data.AttributeData`1[[System.Single, mscorlib]], Assembly-CSharp
- Name: Value
Entry: 4
Data: 1
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 3
Data: 9
- Name: $v
Entry: 7
Data: 12|Data.AttributeData`1[[System.Single, mscorlib]], Assembly-CSharp
- Name: Value
Entry: 4
Data: 1
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 3
Data: 10
- Name: $v
Entry: 7
Data: 13|Data.AttributeData`1[[System.Single, mscorlib]], Assembly-CSharp
- Name: Value
Entry: 4
Data: 1
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 3
Data: 11
- Name: $v
Entry: 7
Data: 14|Data.AttributeData`1[[System.Single, mscorlib]], Assembly-CSharp
- Name: Value
Entry: 4
Data: 0
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 3
Data: 12
- Name: $v
Entry: 7
Data: 15|Data.AttributeData`1[[System.Single, mscorlib]], Assembly-CSharp
- Name: Value
Entry: 4
Data: 100
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
--- !u!4 &1261447604
Transform:
m_ObjectHideFlags: 0