diff options
Diffstat (limited to 'marching')
62 files changed, 1006 insertions, 66 deletions
diff --git a/marching/Assets/Bundle/metadata/default_stats.csv b/marching/Assets/Bundle/metadata/default_stats.csv index 66d44b8..a935859 100644 --- a/marching/Assets/Bundle/metadata/default_stats.csv +++ b/marching/Assets/Bundle/metadata/default_stats.csv @@ -1,12 +1,13 @@ -uid,name_key,icon,type -#默认的角色属性,可以扩展,,, -level,LEVEL,,int -max_level,MAX_LEVEL,,int -health,HEALTH,,int -max_health,MAX_HEALTH,,int -exp,EXP,,int -max_exp,MAX_EXP,,int -health_recover,HEALTH_RECOVER,,int -move_speed,MOVE_SPEED,,int -damage,DAMAGE,,int -attack_speed,ATTACK_SPEED,,int +uid,name_key,desc_key,icon,type +#默认的角色属性,可以扩展,,,, +level,LEVEL,LEVEL_DESC,,int +max_level,MAX_LEVEL,,,int +health,HEALTH,,,int +max_health,MAX_HEALTH,,,int +exp,EXP,,,int +max_exp,MAX_EXP,,,int +health_recover,HEALTH_RECOVER,,,int +move_speed,MOVE_SPEED,,,int +damage,DAMAGE,,,int +attack_speed,ATTACK_SPEED,,,int +revive_max_count,,,, diff --git a/marching/Assets/Scenes/Test.unity b/marching/Assets/Scenes/Test.unity index 6474326..5ecba8b 100644 --- a/marching/Assets/Scenes/Test.unity +++ b/marching/Assets/Scenes/Test.unity @@ -9992,6 +9992,50 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1525966912} m_CullTransparentMesh: 1 +--- !u!1 &1552119908 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1552119910} + - component: {fileID: 1552119909} + m_Layer: 0 + m_Name: GameObject + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1552119909 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1552119908} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5e9d405b1bd5e604db9cc8638d465aaf, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!4 &1552119910 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1552119908} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -14.039074, y: 3.1774442, z: -0.025952239} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 68 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1566097397 GameObject: m_ObjectHideFlags: 0 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; + } + } } diff --git a/marching/Assets/StreamingAssets/languages.meta b/marching/Assets/StreamingAssets/languages.meta new file mode 100644 index 0000000..07fb091 --- /dev/null +++ b/marching/Assets/StreamingAssets/languages.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3f821e76af7ad0d4eae16d3f24ea1b88 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/marching/Assets/StreamingAssets/languages/de.csv b/marching/Assets/StreamingAssets/languages/de.csv new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/marching/Assets/StreamingAssets/languages/de.csv diff --git a/marching/Assets/StreamingAssets/languages/de.csv.meta b/marching/Assets/StreamingAssets/languages/de.csv.meta new file mode 100644 index 0000000..d4b02ae --- /dev/null +++ b/marching/Assets/StreamingAssets/languages/de.csv.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 91f0a160fca2b8e47ba82b3fa2f7e8d3 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/marching/Assets/StreamingAssets/languages/en.csv b/marching/Assets/StreamingAssets/languages/en.csv new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/marching/Assets/StreamingAssets/languages/en.csv diff --git a/marching/Assets/StreamingAssets/languages/en.csv.meta b/marching/Assets/StreamingAssets/languages/en.csv.meta new file mode 100644 index 0000000..afdfcfe --- /dev/null +++ b/marching/Assets/StreamingAssets/languages/en.csv.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b62c767356e24514a94c9604a4e7a208 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/marching/Assets/StreamingAssets/languages/fr.csv b/marching/Assets/StreamingAssets/languages/fr.csv new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/marching/Assets/StreamingAssets/languages/fr.csv diff --git a/marching/Assets/StreamingAssets/languages/fr.csv.meta b/marching/Assets/StreamingAssets/languages/fr.csv.meta new file mode 100644 index 0000000..f4a5e31 --- /dev/null +++ b/marching/Assets/StreamingAssets/languages/fr.csv.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4f4dd986cc6bfb649b9986bb3766be56 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/marching/Assets/StreamingAssets/languages/jp.csv b/marching/Assets/StreamingAssets/languages/jp.csv new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/marching/Assets/StreamingAssets/languages/jp.csv diff --git a/marching/Assets/StreamingAssets/languages/jp.csv.meta b/marching/Assets/StreamingAssets/languages/jp.csv.meta new file mode 100644 index 0000000..a262ae2 --- /dev/null +++ b/marching/Assets/StreamingAssets/languages/jp.csv.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f65f57e009a824a4784ea5273c02be09 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/marching/Assets/StreamingAssets/languages/kr.csv b/marching/Assets/StreamingAssets/languages/kr.csv new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/marching/Assets/StreamingAssets/languages/kr.csv diff --git a/marching/Assets/StreamingAssets/languages/kr.csv.meta b/marching/Assets/StreamingAssets/languages/kr.csv.meta new file mode 100644 index 0000000..0b40d31 --- /dev/null +++ b/marching/Assets/StreamingAssets/languages/kr.csv.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a3e9c19a47f073343a82326effdb3faf +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/marching/Assets/StreamingAssets/languages/ru.csv b/marching/Assets/StreamingAssets/languages/ru.csv new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/marching/Assets/StreamingAssets/languages/ru.csv diff --git a/marching/Assets/StreamingAssets/languages/ru.csv.meta b/marching/Assets/StreamingAssets/languages/ru.csv.meta new file mode 100644 index 0000000..35459c6 --- /dev/null +++ b/marching/Assets/StreamingAssets/languages/ru.csv.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 46d1df3639a540a49ba9ea723db585bc +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/marching/Assets/StreamingAssets/languages/zh_cn.csv b/marching/Assets/StreamingAssets/languages/zh_cn.csv new file mode 100644 index 0000000..a12e39e --- /dev/null +++ b/marching/Assets/StreamingAssets/languages/zh_cn.csv @@ -0,0 +1,2 @@ +key value +LEVEL 等级 diff --git a/marching/Assets/StreamingAssets/languages/zh_cn.csv.meta b/marching/Assets/StreamingAssets/languages/zh_cn.csv.meta new file mode 100644 index 0000000..d4b77c6 --- /dev/null +++ b/marching/Assets/StreamingAssets/languages/zh_cn.csv.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 11eb447a92983664ea690f86e938e3a1 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/marching/Assets/StreamingAssets/setting.json b/marching/Assets/StreamingAssets/setting.json new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/marching/Assets/StreamingAssets/setting.json diff --git a/marching/Assets/StreamingAssets/setting.json.meta b/marching/Assets/StreamingAssets/setting.json.meta new file mode 100644 index 0000000..57266fe --- /dev/null +++ b/marching/Assets/StreamingAssets/setting.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f27d86eeddc5935418f70ae650c527bc +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/marching/Assets/ThirdParty/CSV-Parser.meta b/marching/Assets/ThirdParty/CSV-Parser.meta new file mode 100644 index 0000000..c49c672 --- /dev/null +++ b/marching/Assets/ThirdParty/CSV-Parser.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4f2fe36487065064e821650e6429d9d9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/marching/Assets/ThirdParty/CSV-Parser/.gitignore b/marching/Assets/ThirdParty/CSV-Parser/.gitignore new file mode 100644 index 0000000..19f0983 --- /dev/null +++ b/marching/Assets/ThirdParty/CSV-Parser/.gitignore @@ -0,0 +1,15 @@ +obj/ +bin/ +.vs/ +.vscode/ +.idea/ +*.DotSettings +*.user + +.DS_Store +.DS_Store? +._* +.Spotlight-V100 +.Trashes +ehthumbs.db +Thumbs.db
\ No newline at end of file diff --git a/marching/Assets/ThirdParty/CSV-Parser/CSV Parser.meta b/marching/Assets/ThirdParty/CSV-Parser/CSV Parser.meta new file mode 100644 index 0000000..1b9c4db --- /dev/null +++ b/marching/Assets/ThirdParty/CSV-Parser/CSV Parser.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 85cabb48324945548a8b18124ed3918a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/marching/Assets/ThirdParty/CSV-Parser/CSV Parser.sln b/marching/Assets/ThirdParty/CSV-Parser/CSV Parser.sln new file mode 100644 index 0000000..9e25d75 --- /dev/null +++ b/marching/Assets/ThirdParty/CSV-Parser/CSV Parser.sln @@ -0,0 +1,22 @@ +锘 +Microsoft Visual Studio Solution File, Format Version 12.00 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSV Parser", "CSV Parser\CSV Parser.csproj", "{BB50E0DE-75A1-4E9A-AEFA-A823A434EFF3}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tests", "Tests\Tests.csproj", "{C7E7ACFD-66DB-4296-8536-4418728F3A5D}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {BB50E0DE-75A1-4E9A-AEFA-A823A434EFF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BB50E0DE-75A1-4E9A-AEFA-A823A434EFF3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BB50E0DE-75A1-4E9A-AEFA-A823A434EFF3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BB50E0DE-75A1-4E9A-AEFA-A823A434EFF3}.Release|Any CPU.Build.0 = Release|Any CPU + {C7E7ACFD-66DB-4296-8536-4418728F3A5D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C7E7ACFD-66DB-4296-8536-4418728F3A5D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C7E7ACFD-66DB-4296-8536-4418728F3A5D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C7E7ACFD-66DB-4296-8536-4418728F3A5D}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection +EndGlobal diff --git a/marching/Assets/ThirdParty/CSV-Parser/CSV Parser.sln.meta b/marching/Assets/ThirdParty/CSV-Parser/CSV Parser.sln.meta new file mode 100644 index 0000000..3f5d3cf --- /dev/null +++ b/marching/Assets/ThirdParty/CSV-Parser/CSV Parser.sln.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2d428b7f5708308489ff910a5977b13c +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/marching/Assets/ThirdParty/CSV-Parser/CSV Parser/CSV Parser.csproj b/marching/Assets/ThirdParty/CSV-Parser/CSV Parser/CSV Parser.csproj new file mode 100644 index 0000000..bf48c73 --- /dev/null +++ b/marching/Assets/ThirdParty/CSV-Parser/CSV Parser/CSV Parser.csproj @@ -0,0 +1,13 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <TargetFramework>net6.0</TargetFramework> + <RootNamespace>CSV_Parser</RootNamespace> + <LangVersion>7.3</LangVersion> + </PropertyGroup> + + <ItemGroup> + <PackageReference Include="System.Memory" Version="4.5.4" /> + </ItemGroup> + +</Project> diff --git a/marching/Assets/ThirdParty/CSV-Parser/CSV Parser/CSV Parser.csproj.meta b/marching/Assets/ThirdParty/CSV-Parser/CSV Parser/CSV Parser.csproj.meta new file mode 100644 index 0000000..da4f4a8 --- /dev/null +++ b/marching/Assets/ThirdParty/CSV-Parser/CSV Parser/CSV Parser.csproj.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c9cc963a877064748a9e6fe4397c807f +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/marching/Assets/ThirdParty/CSV-Parser/CSV Parser/src.meta b/marching/Assets/ThirdParty/CSV-Parser/CSV Parser/src.meta new file mode 100644 index 0000000..8e65917 --- /dev/null +++ b/marching/Assets/ThirdParty/CSV-Parser/CSV Parser/src.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3e17c685928714443973ed558020bdee +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/marching/Assets/ThirdParty/CSV-Parser/CSV Parser/src/CSVParser.cs b/marching/Assets/ThirdParty/CSV-Parser/CSV Parser/src/CSVParser.cs new file mode 100644 index 0000000..c886c19 --- /dev/null +++ b/marching/Assets/ThirdParty/CSV-Parser/CSV Parser/src/CSVParser.cs @@ -0,0 +1,181 @@ +/* + * CSV Parser for C#. + * + * These codes are licensed under CC0. + * https://github.com/yutokun/CSV-Parser + */ + +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; + +namespace yutokun +{ + public static class CSVParser + { + /// <summary> + /// Load CSV data from specified path. + /// </summary> + /// <param name="path">CSV file path.</param> + /// <param name="delimiter">Delimiter.</param> + /// <param name="encoding">Type of text encoding. (default UTF-8)</param> + /// <returns>Nested list that CSV parsed.</returns> + public static List<List<string>> LoadFromPath(string path, Delimiter delimiter = Delimiter.Auto, Encoding encoding = null) + { + encoding = encoding ?? Encoding.UTF8; + + if (delimiter == Delimiter.Auto) + { + delimiter = EstimateDelimiter(path); + } + + var data = File.ReadAllText(path, encoding); + return Parse(data, delimiter); + } + + /// <summary> + /// Load CSV data asynchronously from specified path. + /// </summary> + /// <param name="path">CSV file path.</param> + /// <param name="delimiter">Delimiter.</param> + /// <param name="encoding">Type of text encoding. (default UTF-8)</param> + /// <returns>Nested list that CSV parsed.</returns> + public static async Task<List<List<string>>> LoadFromPathAsync(string path, Delimiter delimiter = Delimiter.Auto, Encoding encoding = null) + { + encoding = encoding ?? Encoding.UTF8; + + if (delimiter == Delimiter.Auto) + { + delimiter = EstimateDelimiter(path); + } + + using (var reader = new StreamReader(path, encoding)) + { + var data = await reader.ReadToEndAsync(); + return Parse(data, delimiter); + } + } + + static Delimiter EstimateDelimiter(string path) + { + var extension = Path.GetExtension(path); + if (extension.Equals(".csv", StringComparison.OrdinalIgnoreCase)) + { + return Delimiter.Comma; + } + + if (extension.Equals(".tsv", StringComparison.OrdinalIgnoreCase)) + { + return Delimiter.Tab; + } + + throw new Exception($"Delimiter estimation failed. Unknown Extension: {extension}"); + } + + /// <summary> + /// Load CSV data from string. + /// </summary> + /// <param name="data">CSV string</param> + /// <param name="delimiter">Delimiter.</param> + /// <returns>Nested list that CSV parsed.</returns> + public static List<List<string>> LoadFromString(string data, Delimiter delimiter = Delimiter.Comma) + { + if (delimiter == Delimiter.Auto) throw new InvalidEnumArgumentException("Delimiter estimation from string is not supported."); + return Parse(data, delimiter); + } + + static List<List<string>> Parse(string data, Delimiter delimiter) + { + ConvertToCrlf(ref data); + + var sheet = new List<List<string>>(); + var row = new List<string>(); + var cell = new StringBuilder(); + var insideQuoteCell = false; + var start = 0; + + var delimiterSpan = delimiter.ToChar().ToString().AsSpan(); + var crlfSpan = "\r\n".AsSpan(); + var oneDoubleQuotSpan = "\"".AsSpan(); + var twoDoubleQuotSpan = "\"\"".AsSpan(); + + while (start < data.Length) + { + var length = start <= data.Length - 2 ? 2 : 1; + var span = data.AsSpan(start, length); + + if (span.StartsWith(delimiterSpan)) + { + if (insideQuoteCell) + { + cell.Append(delimiter.ToChar()); + } + else + { + AddCell(row, cell); + } + + start += 1; + } + else if (span.StartsWith(crlfSpan)) + { + if (insideQuoteCell) + { + cell.Append("\r\n"); + } + else + { + AddCell(row, cell); + AddRow(sheet, ref row); + } + + start += 2; + } + else if (span.StartsWith(twoDoubleQuotSpan)) + { + cell.Append("\""); + start += 2; + } + else if (span.StartsWith(oneDoubleQuotSpan)) + { + insideQuoteCell = !insideQuoteCell; + start += 1; + } + else + { + cell.Append(span[0]); + start += 1; + } + } + + if (row.Count > 0 || cell.Length > 0) + { + AddCell(row, cell); + AddRow(sheet, ref row); + } + + return sheet; + } + + static void AddCell(List<string> row, StringBuilder cell) + { + row.Add(cell.ToString()); + cell.Length = 0; // Old C#. + } + + static void AddRow(List<List<string>> sheet, ref List<string> row) + { + sheet.Add(row); + row = new List<string>(); + } + + static void ConvertToCrlf(ref string data) + { + data = Regex.Replace(data, @"\r\n|\r|\n", "\r\n"); + } + } +} diff --git a/marching/Assets/ThirdParty/CSV-Parser/CSV Parser/src/CSVParser.cs.meta b/marching/Assets/ThirdParty/CSV-Parser/CSV Parser/src/CSVParser.cs.meta new file mode 100644 index 0000000..fb3cd58 --- /dev/null +++ b/marching/Assets/ThirdParty/CSV-Parser/CSV Parser/src/CSVParser.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1dcf43e5bd8e0204580fc6899a086b00 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/marching/Assets/ThirdParty/CSV-Parser/CSV Parser/src/Delimiter.cs b/marching/Assets/ThirdParty/CSV-Parser/CSV Parser/src/Delimiter.cs new file mode 100644 index 0000000..b32dcc3 --- /dev/null +++ b/marching/Assets/ThirdParty/CSV-Parser/CSV Parser/src/Delimiter.cs @@ -0,0 +1,9 @@ +锘縩amespace yutokun +{ + public enum Delimiter + { + Auto, + Comma, + Tab + } +} diff --git a/marching/Assets/ThirdParty/CSV-Parser/CSV Parser/src/Delimiter.cs.meta b/marching/Assets/ThirdParty/CSV-Parser/CSV Parser/src/Delimiter.cs.meta new file mode 100644 index 0000000..8f7cf00 --- /dev/null +++ b/marching/Assets/ThirdParty/CSV-Parser/CSV Parser/src/Delimiter.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e0e2bb27fdbb714468ca87aeaf607331 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/marching/Assets/ThirdParty/CSV-Parser/CSV Parser/src/DelimiterExtensions.cs b/marching/Assets/ThirdParty/CSV-Parser/CSV Parser/src/DelimiterExtensions.cs new file mode 100644 index 0000000..a38371d --- /dev/null +++ b/marching/Assets/ThirdParty/CSV-Parser/CSV Parser/src/DelimiterExtensions.cs @@ -0,0 +1,24 @@ +锘縰sing System; +using System.ComponentModel; + +namespace yutokun +{ + public static class DelimiterExtensions + { + public static char ToChar(this Delimiter delimiter) + { + // C# 7.3: Unity 2018.2 - 2020.1 Compatible + switch (delimiter) + { + case Delimiter.Auto: + throw new InvalidEnumArgumentException("Could not return char of Delimiter.Auto."); + case Delimiter.Comma: + return ','; + case Delimiter.Tab: + return '\t'; + default: + throw new ArgumentOutOfRangeException(nameof(delimiter), delimiter, null); + } + } + } +} diff --git a/marching/Assets/ThirdParty/CSV-Parser/CSV Parser/src/DelimiterExtensions.cs.meta b/marching/Assets/ThirdParty/CSV-Parser/CSV Parser/src/DelimiterExtensions.cs.meta new file mode 100644 index 0000000..d98b86d --- /dev/null +++ b/marching/Assets/ThirdParty/CSV-Parser/CSV Parser/src/DelimiterExtensions.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7b9ab5b183dd311459e9893fe735bea6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/marching/Assets/ThirdParty/CSV-Parser/LICENSE b/marching/Assets/ThirdParty/CSV-Parser/LICENSE new file mode 100644 index 0000000..8a9b3dc --- /dev/null +++ b/marching/Assets/ThirdParty/CSV-Parser/LICENSE @@ -0,0 +1,35 @@ +For unique parts of the repository + +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to <http://unlicense.org> + +-------------------------------------------------------------------------------------------- + +For .NET Runtimes (included in the .unitypackage for old Unity) + +The MIT License +Copyright (c) .NET Foundation and Contributors + +https://github.com/dotnet/runtime/blob/main/LICENSE.TXT
\ No newline at end of file diff --git a/marching/Assets/ThirdParty/CSV-Parser/LICENSE.meta b/marching/Assets/ThirdParty/CSV-Parser/LICENSE.meta new file mode 100644 index 0000000..1df5cd4 --- /dev/null +++ b/marching/Assets/ThirdParty/CSV-Parser/LICENSE.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e44599b63f0a77d408c64fcf15e388e1 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/marching/Assets/ThirdParty/CSV-Parser/README.md b/marching/Assets/ThirdParty/CSV-Parser/README.md new file mode 100644 index 0000000..c87aaef --- /dev/null +++ b/marching/Assets/ThirdParty/CSV-Parser/README.md @@ -0,0 +1,102 @@ +# CSV Parser for C# + +[](https://github.com/yutokun/CSV-Parser/actions/workflows/test.yml) + +CSV Parser with CC0 License. + +Best for: + +- [Unity](https://unity3d.com/) projects that requires cross-platform CSV parser. (maybe works on any platform supported by Unity) +- Commercial products that you could not display the license. + +## Prerequisites + +| Environment | Prerequisites | +| ----------------------- | ------------------------------------------------------------------------- | +| Unity 2019.2 or later | None | +| Unity 2019.1 or earlier | .NET 4.x Equivalent | +| .NET Project | [System.Memory](https://www.nuget.org/packages/System.Memory/) from NuGet | + +## Download + +Download zip or unitypackage from [**Releases**](https://github.com/yutokun/CSV-Parser/releases). + +## Usage + +### Methods + +This returns CSV data as `List<List<string>>`. + +```c# +CSVParser.LoadFromString(string data) +``` + +or + +```c# +CSVParser.LoadFromPath(string path, Encoding encoding = null) +``` + +### Examples + +```c# +var sheet = CSVParser.LoadFromString(csvString); + +var styled = new StringBuilder(); +foreach (var row in sheet) +{ + styled.Append("| "); + + foreach (var cell in row) + { + styled.Append(cell); + styled.Append(" | "); + } + + styled.AppendLine(); +} + +Debug.Log(styled.ToString()); // Unity +Console.WriteLine(styled.ToString()); // C# +``` + +## Specs + +Compliant with [RFC 4180](http://www.ietf.org/rfc/rfc4180.txt). + +- Correctly parse new lines, commas, quotation marks inside cell. +- Escaped double quotes. +- Some encoding types. (default UTF-8) + +## Beta + +- Tab delimiter support + +- Async loading + +## Development + +The repository contains multiple types of newline code. Run `git config core.autocrlf false` in your local repository. + +## Why this repo has multiple Unity Examples? + +One of the reasons is to check operation in different Unity versions. Another one is to build .unitypackage with CI. + +Unity changes a lot between their Tech Streams. It leads different requisites / dependency to the parser. Affected changes below. + +| Versions | Difference | +| ----------------- | ---------------------------------------------- | +| 2019.1 and 2019.2 | Has Scripting Runtime Version selector or not. | +| 2021.1 and 2021.2 | Requires additional DLLs or not. | + +## License + +### Unique part of the repository + +[CC0](https://creativecommons.org/publicdomain/zero/1.0/) or [Public Domain](LICENSE) + +### .NET Runtimes (included in the .unitypackage for old Unity) + +[The MIT License](https://github.com/dotnet/runtime/blob/main/LICENSE.TXT) + +Copyright (c) .NET Foundation and Contributors diff --git a/marching/Assets/ThirdParty/CSV-Parser/README.md.meta b/marching/Assets/ThirdParty/CSV-Parser/README.md.meta new file mode 100644 index 0000000..97d3fa3 --- /dev/null +++ b/marching/Assets/ThirdParty/CSV-Parser/README.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 369bbbb3341b6ec4583dce723dc805f4 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/marching/Assets/ThirdParty/CSV-Parser/RELEASE.md b/marching/Assets/ThirdParty/CSV-Parser/RELEASE.md new file mode 100644 index 0000000..99ec2e9 --- /dev/null +++ b/marching/Assets/ThirdParty/CSV-Parser/RELEASE.md @@ -0,0 +1,14 @@ +# Change + +- Updated project to .NET 6. It because deprecation of .NET 5 by GitHub Actions. + - CSV Parser itself has same prerequisites as before. + +# Fix + +- Fixed a bug that last cell will be ignored when single cell rows not ending with CRLF. (Thank you so much @gmichaudAniki !) + +# Misc. Changes + +- Fixed some errors in README. + +- Updated CI to compliant with Node.js 16.
\ No newline at end of file diff --git a/marching/Assets/ThirdParty/CSV-Parser/RELEASE.md.meta b/marching/Assets/ThirdParty/CSV-Parser/RELEASE.md.meta new file mode 100644 index 0000000..cc47df1 --- /dev/null +++ b/marching/Assets/ThirdParty/CSV-Parser/RELEASE.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: baea5598d0dce0441a1b60a3364f3cc7 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/marching/Assets/ThirdParty/CSV-Parser/Tests.meta b/marching/Assets/ThirdParty/CSV-Parser/Tests.meta new file mode 100644 index 0000000..c219211 --- /dev/null +++ b/marching/Assets/ThirdParty/CSV-Parser/Tests.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 229bb474319e02440b7fde15814d354e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/marching/Assets/ThirdParty/CSV-Parser/Unity Examples.meta b/marching/Assets/ThirdParty/CSV-Parser/Unity Examples.meta new file mode 100644 index 0000000..eb2f7be --- /dev/null +++ b/marching/Assets/ThirdParty/CSV-Parser/Unity Examples.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6e45f679bb3e6f54a8ae2adea95ddc1e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/marching/Assets/ThirdParty/CSV-Parser/global.json b/marching/Assets/ThirdParty/CSV-Parser/global.json new file mode 100644 index 0000000..1bcf6c0 --- /dev/null +++ b/marching/Assets/ThirdParty/CSV-Parser/global.json @@ -0,0 +1,7 @@ +{ + "sdk": { + "version": "6.0.0", + "rollForward": "latestMinor", + "allowPrerelease": false + } +}
\ No newline at end of file diff --git a/marching/Assets/ThirdParty/CSV-Parser/global.json.meta b/marching/Assets/ThirdParty/CSV-Parser/global.json.meta new file mode 100644 index 0000000..b2d9917 --- /dev/null +++ b/marching/Assets/ThirdParty/CSV-Parser/global.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: d4150b58aa163dc4d8a2aa3241ae51ea +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: |