diff options
Diffstat (limited to 'marching/Assets/Scripts/Stats/CharacterStatsBase.cs')
-rw-r--r-- | marching/Assets/Scripts/Stats/CharacterStatsBase.cs | 54 |
1 files changed, 48 insertions, 6 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; + } + } + } } |