diff options
Diffstat (limited to 'marching/Assets/Scripts/Stats')
-rw-r--r-- | marching/Assets/Scripts/Stats/CharacterStatsBase.cs | 54 | ||||
-rw-r--r-- | marching/Assets/Scripts/Stats/CharacterStatsDef.cs | 13 | ||||
-rw-r--r-- | marching/Assets/Scripts/Stats/CharacterStatsMetadata.cs | 23 | ||||
-rw-r--r-- | marching/Assets/Scripts/Stats/CharacterStatsMetadata.cs.meta (renamed from marching/Assets/Scripts/Stats/CharacterStatsDef.cs.meta) | 0 |
4 files changed, 71 insertions, 19 deletions
diff --git a/marching/Assets/Scripts/Stats/CharacterStatsBase.cs b/marching/Assets/Scripts/Stats/CharacterStatsBase.cs index a2e5fe2..b4869cb 100644 --- a/marching/Assets/Scripts/Stats/CharacterStatsBase.cs +++ b/marching/Assets/Scripts/Stats/CharacterStatsBase.cs @@ -1,16 +1,58 @@ using System.Collections; using System.Collections.Generic; +using System.Runtime.InteropServices; using UnityEngine; +using WK.Data; -/// <summary> -/// 角色基础属性 -/// </summary> -public abstract class CharacterStatsBase +namespace WK { + + [System.Runtime.InteropServices.StructLayout(LayoutKind.Explicit)] + public struct CharacterStatsValue + { + [System.Runtime.InteropServices.FieldOffset(0)] + public int i; + [System.Runtime.InteropServices.FieldOffset(0)] + public float f; + [System.Runtime.InteropServices.FieldOffset(0)] + public bool boolean; + [System.Runtime.InteropServices.FieldOffset(0)] + public char c; + [System.Runtime.InteropServices.FieldOffset(0)] + public Vector2 v2; + [System.Runtime.InteropServices.FieldOffset(0)] + public Vector3 v3; + [System.Runtime.InteropServices.FieldOffset(0)] + public Vector4 v4; + [System.Runtime.InteropServices.FieldOffset(0)] + public Color color; + } + + /// <summary> - /// 属性唯一标识 + /// 运行时角色基础属性 /// </summary> - public string UID; + public abstract class CharacterStats + { + + /// <summary> + /// 表格数据 + /// </summary> + public CharacterStatsMetadata metadata; + + /// <summary> + /// 当前属性值 + /// </summary> + public CharacterStatsValue value; + + public string uid + { + get + { + return metadata.uid; + } + } + } } diff --git a/marching/Assets/Scripts/Stats/CharacterStatsDef.cs b/marching/Assets/Scripts/Stats/CharacterStatsDef.cs deleted file mode 100644 index 87eeecd..0000000 --- a/marching/Assets/Scripts/Stats/CharacterStatsDef.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class CharacterStatsDef -{ - public string uid; - - public string name_key; - - public int type; - -} diff --git a/marching/Assets/Scripts/Stats/CharacterStatsMetadata.cs b/marching/Assets/Scripts/Stats/CharacterStatsMetadata.cs new file mode 100644 index 0000000..3b0b13b --- /dev/null +++ b/marching/Assets/Scripts/Stats/CharacterStatsMetadata.cs @@ -0,0 +1,23 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace WK.Data +{ + + /// <summary> + /// 角色基础属性元数据 + /// </summary> + public class CharacterStatsMetadata + { + public string uid; + + public string name_key; + + public int type; + + // 暂留数据 + public string extra_data; + } + +} diff --git a/marching/Assets/Scripts/Stats/CharacterStatsDef.cs.meta b/marching/Assets/Scripts/Stats/CharacterStatsMetadata.cs.meta index a8d9a08..a8d9a08 100644 --- a/marching/Assets/Scripts/Stats/CharacterStatsDef.cs.meta +++ b/marching/Assets/Scripts/Stats/CharacterStatsMetadata.cs.meta |