summaryrefslogtreecommitdiff
path: root/marching/Assets/Scripts
diff options
context:
space:
mode:
Diffstat (limited to 'marching/Assets/Scripts')
-rw-r--r--marching/Assets/Scripts/Buffs/Buff.cs4
-rw-r--r--marching/Assets/Scripts/Buffs/BuffDef.cs14
-rw-r--r--marching/Assets/Scripts/Buffs/BuffMetadata.cs22
-rw-r--r--marching/Assets/Scripts/Buffs/BuffMetadata.cs.meta (renamed from marching/Assets/Scripts/Buffs/BuffDef.cs.meta)0
-rw-r--r--marching/Assets/Scripts/Data.meta8
-rw-r--r--marching/Assets/Scripts/Data/DataManager.cs37
-rw-r--r--marching/Assets/Scripts/Data/DataManager.cs.meta11
-rw-r--r--marching/Assets/Scripts/Managers/ResourceManager.cs32
-rw-r--r--marching/Assets/Scripts/Managers/ResourceManager.cs.meta11
-rw-r--r--marching/Assets/Scripts/Physics/PhysicsManager.cs1
-rw-r--r--marching/Assets/Scripts/Physics/PhysicsManager_CollisionDetection.cs1
-rw-r--r--marching/Assets/Scripts/Stats/CharacterStatsBase.cs54
-rw-r--r--marching/Assets/Scripts/Stats/CharacterStatsDef.cs13
-rw-r--r--marching/Assets/Scripts/Stats/CharacterStatsMetadata.cs23
-rw-r--r--marching/Assets/Scripts/Stats/CharacterStatsMetadata.cs.meta (renamed from marching/Assets/Scripts/Stats/CharacterStatsDef.cs.meta)0
-rw-r--r--marching/Assets/Scripts/Tests.meta8
-rw-r--r--marching/Assets/Scripts/Tests/TestCSV.cs57
-rw-r--r--marching/Assets/Scripts/Tests/TestCSV.cs.meta11
-rw-r--r--marching/Assets/Scripts/Unit/Characters/CharacterInfo.cs93
19 files changed, 346 insertions, 54 deletions
diff --git a/marching/Assets/Scripts/Buffs/Buff.cs b/marching/Assets/Scripts/Buffs/Buff.cs
index 2320176..430fa70 100644
--- a/marching/Assets/Scripts/Buffs/Buff.cs
+++ b/marching/Assets/Scripts/Buffs/Buff.cs
@@ -1,6 +1,8 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
+using WK;
+using WK.Data;
/// <summary>
/// Buff结构
@@ -8,7 +10,7 @@ using UnityEngine;
public abstract class Buff
{
// 元数据
- public BuffDef metadata;
+ public BuffMetadata metadata;
// buff效果器
public BuffEfectorBase effector;
diff --git a/marching/Assets/Scripts/Buffs/BuffDef.cs b/marching/Assets/Scripts/Buffs/BuffDef.cs
deleted file mode 100644
index 835589b..0000000
--- a/marching/Assets/Scripts/Buffs/BuffDef.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-
-public class BuffDef
-{
-
- public string uid;
-
- public string name_key;
-
- public string icon;
-
-}
diff --git a/marching/Assets/Scripts/Buffs/BuffMetadata.cs b/marching/Assets/Scripts/Buffs/BuffMetadata.cs
new file mode 100644
index 0000000..de7c391
--- /dev/null
+++ b/marching/Assets/Scripts/Buffs/BuffMetadata.cs
@@ -0,0 +1,22 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace WK.Data
+{
+
+ public class BuffMetadata
+ {
+
+ public string uid;
+
+ public string name_key;
+
+ public string icon;
+
+ // 暂留数据
+ public string extra_data;
+
+ }
+
+}
diff --git a/marching/Assets/Scripts/Buffs/BuffDef.cs.meta b/marching/Assets/Scripts/Buffs/BuffMetadata.cs.meta
index 2fbd7ff..2fbd7ff 100644
--- a/marching/Assets/Scripts/Buffs/BuffDef.cs.meta
+++ b/marching/Assets/Scripts/Buffs/BuffMetadata.cs.meta
diff --git a/marching/Assets/Scripts/Data.meta b/marching/Assets/Scripts/Data.meta
new file mode 100644
index 0000000..3622fa8
--- /dev/null
+++ b/marching/Assets/Scripts/Data.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 9dac4e9417c4a4343926c0fd48551b07
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/marching/Assets/Scripts/Data/DataManager.cs b/marching/Assets/Scripts/Data/DataManager.cs
new file mode 100644
index 0000000..e56c80b
--- /dev/null
+++ b/marching/Assets/Scripts/Data/DataManager.cs
@@ -0,0 +1,37 @@
+using System.Collections;
+using System.Collections.Generic;
+using Unity.VisualScripting;
+using UnityEngine;
+
+namespace WK.Data
+{
+
+ public class DataManager : Singleton<DataManager>
+ {
+
+ private Dictionary<string/*uid*/, CharacterStatsMetadata> m_CharacterStatsMetadata;
+ private Dictionary<string/*uid*/, BuffMetadata> m_BuffMetadata;
+
+ public CharacterStatsMetadata GetCharacterStats(string uid)
+ {
+ CharacterStatsMetadata metadata;
+ if(m_CharacterStatsMetadata.TryGetValue(uid, out metadata))
+ {
+ return metadata;
+ }
+ return null;
+ }
+
+ public BuffMetadata GetBuffMetadata(string uid)
+ {
+ BuffMetadata metadata;
+ if(m_BuffMetadata.TryGetValue(uid, out metadata))
+ {
+ return metadata;
+ }
+ return null;
+ }
+
+ }
+
+} \ No newline at end of file
diff --git a/marching/Assets/Scripts/Data/DataManager.cs.meta b/marching/Assets/Scripts/Data/DataManager.cs.meta
new file mode 100644
index 0000000..e2f87df
--- /dev/null
+++ b/marching/Assets/Scripts/Data/DataManager.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 426d62970250f0f41b68370ced13105b
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/marching/Assets/Scripts/Managers/ResourceManager.cs b/marching/Assets/Scripts/Managers/ResourceManager.cs
new file mode 100644
index 0000000..4b318ca
--- /dev/null
+++ b/marching/Assets/Scripts/Managers/ResourceManager.cs
@@ -0,0 +1,32 @@
+using System.Collections;
+using System.Collections.Generic;
+#if UNITY_EDITOR
+using UnityEditor;
+#endif
+using UnityEngine;
+
+namespace WK
+{
+
+ public class ResourceManager : Singleton<ResourceManager>
+ {
+
+ // 资源根目录是Assets/Bundle/,后续可能会把部分资源移动到streamingAssets目录
+ public const string kAssetRoot = "Assets/Bundle/";
+
+ public T LoadAsset<T>(string relativePath) where T : UnityEngine.Object
+ {
+#if UNITY_EDITOR
+ string path = kAssetRoot + relativePath;
+ T obj = AssetDatabase.LoadAssetAtPath(path, typeof(T)) as T;
+ return obj;
+#else
+ return null ;
+#endif
+ }
+
+
+
+ }
+
+}
diff --git a/marching/Assets/Scripts/Managers/ResourceManager.cs.meta b/marching/Assets/Scripts/Managers/ResourceManager.cs.meta
new file mode 100644
index 0000000..b3c985b
--- /dev/null
+++ b/marching/Assets/Scripts/Managers/ResourceManager.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 928e39b9448c1c74caa349620602617b
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/marching/Assets/Scripts/Physics/PhysicsManager.cs b/marching/Assets/Scripts/Physics/PhysicsManager.cs
index 0225443..279ebbb 100644
--- a/marching/Assets/Scripts/Physics/PhysicsManager.cs
+++ b/marching/Assets/Scripts/Physics/PhysicsManager.cs
@@ -8,7 +8,6 @@ public enum ColliderType
{
Collider,
Hurtbox,
- //Hitbox,
}
public partial class PhysicsManager : Singleton<PhysicsManager>
diff --git a/marching/Assets/Scripts/Physics/PhysicsManager_CollisionDetection.cs b/marching/Assets/Scripts/Physics/PhysicsManager_CollisionDetection.cs
index 22c2f4e..d5fd913 100644
--- a/marching/Assets/Scripts/Physics/PhysicsManager_CollisionDetection.cs
+++ b/marching/Assets/Scripts/Physics/PhysicsManager_CollisionDetection.cs
@@ -1,7 +1,6 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
-using static UnityEditor.Rendering.CameraUI;
/// <summary>
/// 碰撞检测
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
diff --git a/marching/Assets/Scripts/Tests.meta b/marching/Assets/Scripts/Tests.meta
new file mode 100644
index 0000000..3219e35
--- /dev/null
+++ b/marching/Assets/Scripts/Tests.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: f6e9b28f26f6aee49be2a1c0676abaf1
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/marching/Assets/Scripts/Tests/TestCSV.cs b/marching/Assets/Scripts/Tests/TestCSV.cs
new file mode 100644
index 0000000..068d235
--- /dev/null
+++ b/marching/Assets/Scripts/Tests/TestCSV.cs
@@ -0,0 +1,57 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Resources;
+using System.Text;
+using UnityEngine;
+using yutokun;
+
+public class TestCSV : MonoBehaviour
+{
+ #region 搴忓垪鍖
+
+ #endregion
+
+ #region 鍏叡瀛楁
+
+ #endregion
+
+ #region 绉佹湁瀛楁
+
+ #endregion
+
+ private void OnEnable()
+ {
+ // 绉佹湁瀛楁璧嬪
+
+ // 鍏叡瀛楁璧嬪
+
+ // 鍒濆鍖
+
+ TextAsset text = WK.ResourceManager.Instance.LoadAsset<TextAsset>("metadata/default_stats.csv");
+
+ var sheet = CSVParser.LoadFromString(text.text);
+
+ var styled = new StringBuilder();
+ foreach (var row in sheet)
+ {
+ styled.Append("| ");
+
+ if (row[0][0] == '#')
+ continue;
+
+ foreach (var cell in row)
+ {
+ styled.Append(cell);
+ styled.Append(" | ");
+ }
+
+ styled.AppendLine();
+ }
+
+ Debug.Log(styled.ToString()); // Unity
+ Console.WriteLine(styled.ToString()); // C#
+
+ }
+
+}
diff --git a/marching/Assets/Scripts/Tests/TestCSV.cs.meta b/marching/Assets/Scripts/Tests/TestCSV.cs.meta
new file mode 100644
index 0000000..48e6de1
--- /dev/null
+++ b/marching/Assets/Scripts/Tests/TestCSV.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 5e9d405b1bd5e604db9cc8638d465aaf
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/marching/Assets/Scripts/Unit/Characters/CharacterInfo.cs b/marching/Assets/Scripts/Unit/Characters/CharacterInfo.cs
index 4a39895..950b7ae 100644
--- a/marching/Assets/Scripts/Unit/Characters/CharacterInfo.cs
+++ b/marching/Assets/Scripts/Unit/Characters/CharacterInfo.cs
@@ -3,35 +3,92 @@ using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;
+using WK.Data;
+using WK;
-public class CharacterInfo
+namespace WK
{
- /// <summary>
- /// 角色所有属性
- /// </summary>
- private List<CharacterStatsBase> m_Stats;
+ public class CharacterStatsCollection
+ {
+
+ }
+
+ public class CharacterBuffsCollection
+ {
+
+ }
+
+ public class CharacterPerksCollection
+ {
+
+ }
/// <summary>
- /// 角色当前所有buff
- /// </summary>
- private List<Buff> m_Buffs;
-
- /// <summary>
- /// 角色当前所有被动
+ /// 角色当前状态
/// </summary>
- private List<PerkBase> m_Perks;
-
- public CharacterStatsBase GetStats(string statsUID)
+ public class CharacterInfo
{
- for(int i = 0; i < m_Stats.Count; ++i)
+
+ /// <summary>
+ /// 角色当前所有属性
+ /// </summary>
+ private List<CharacterStats> m_Stats;
+
+ public CharacterStatsCollection stats { get { return m_AllStats; } }
+ private CharacterStatsCollection m_AllStats;
+
+ /// <summary>
+ /// 角色当前所有buff
+ /// </summary>
+ private List<Buff> m_Buffs;
+
+ /// <summary>
+ /// 角色当前所有被动
+ /// </summary>
+ private List<PerkBase> m_Perks;
+
+ public CharacterStats this[string statsUID]
{
- if (m_Stats[i].UID == statsUID)
+ get
{
- return m_Stats[i];
+ if (m_Stats == null)
+ {
+ return null;
+ }
+ return GetStats(statsUID);
}
}
- return null;
+
+ public CharacterStats GetStats(string statsUID)
+ {
+ for (int i = 0; i < m_Stats.Count; ++i)
+ {
+ if (m_Stats[i].uid == statsUID)
+ {
+ return m_Stats[i];
+ }
+ }
+ return null;
+ }
+
+ public bool HasStats(string statsUID)
+ {
+ for (int i = 0; i < m_Stats.Count; ++i)
+ {
+ if (m_Stats[i].uid == statsUID)
+ {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public bool HasBuff(string buffUID)
+ {
+ return false;
+ }
+
}
}