diff --git a/Assets/Resources.meta b/Assets/Resources.meta
new file mode 100644
index 0000000..909b05a
--- /dev/null
+++ b/Assets/Resources.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 85d25500d3c5e4d71b2606a896a27e96
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/HapticData.meta b/Assets/Resources/HapticData.meta
new file mode 100644
index 0000000..2b4ddc4
--- /dev/null
+++ b/Assets/Resources/HapticData.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 59d473eb0f4b54a3c9fbe376dd94335d
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Resources/HapticData/HapticObject.bytes b/Assets/Resources/HapticData/HapticObject.bytes
new file mode 100644
index 0000000..904cb51
Binary files /dev/null and b/Assets/Resources/HapticData/HapticObject.bytes differ
diff --git a/Assets/Resources/HapticData/HapticObject.bytes.meta b/Assets/Resources/HapticData/HapticObject.bytes.meta
new file mode 100644
index 0000000..27cbfed
--- /dev/null
+++ b/Assets/Resources/HapticData/HapticObject.bytes.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 21ad6923737cb4c9bbb7577a5f361772
+TextScriptImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/OCES/Haptic/Generated.meta b/Assets/Scripts/OCES/Haptic/Generated.meta
new file mode 100644
index 0000000..365e4c2
--- /dev/null
+++ b/Assets/Scripts/OCES/Haptic/Generated.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 05675e28900a24c18b737120397c881a
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/Scripts/OCES/Haptic/Generated/HapticObject.cs b/Assets/Scripts/OCES/Haptic/Generated/HapticObject.cs
new file mode 100644
index 0000000..c2e1876
--- /dev/null
+++ b/Assets/Scripts/OCES/Haptic/Generated/HapticObject.cs
@@ -0,0 +1,111 @@
+/*
+ * auto generated by tools(注意:千万不要手动修改本文件)
+ * HapticObject
+ */
+using System;
+using System.IO;
+using System.Collections.Generic;
+using System.Text;
+
+namespace OCES.Haptic
+{
+[Serializable]
+public partial class HapticObject : IBinarySerializable
+{
+ ///
+ ///
+ ///
+ public uint Id { get; set; }
+
+ ///
+ /// 类型
+ ///
+ public HapticType Type { get; set; }
+
+ ///
+ /// 强度
+ ///
+ public float Amplitude { get; set; }
+
+ ///
+ /// 尖锐度
+ ///
+ public float Frequency { get; set; }
+
+ ///
+ /// 时长
+ ///
+ public float Duration { get; set; }
+
+ ///
+ /// 播放来源
+ ///
+ public string Payload { get; set; }
+
+ ///
+ /// 回退预设
+ ///
+ public string FallbackPreset { get; set; }
+
+
+ public void DeSerialize(BinaryReader reader)
+ {
+ Id = reader.ReadUInt32();
+ Type = (HapticType)reader.ReadByte();
+ Amplitude = reader.ReadSingle();
+ Frequency = reader.ReadSingle();
+ Duration = reader.ReadSingle();
+ Payload = reader.ReadString();
+ FallbackPreset = reader.ReadString();
+ }
+
+ public void Serialize(BinaryWriter writer)
+ {
+ writer.Write(Id);
+ writer.Write((byte)Type);
+ writer.Write(Amplitude);
+ writer.Write(Frequency);
+ writer.Write(Duration);
+ writer.Write(Payload);
+ writer.Write(FallbackPreset);
+ }
+}
+
+[Serializable]
+public partial class HapticObjectConfig : IBinarySerializable
+{
+ Dictionary m_hapticObjectInfos = new();
+ List m_hapticObjectInfoList;
+
+ public List HapticObjectList()
+ {
+ this.m_hapticObjectInfoList ??= new List(this.m_hapticObjectInfos.Values);
+ return this.m_hapticObjectInfoList;
+ }
+
+ public void DeSerialize(BinaryReader reader)
+ {
+ int count = reader.ReadInt32();
+ for (int i = 0; i < count; i++)
+ {
+ HapticObject tempData = new();
+ tempData.DeSerialize(reader);
+ this.m_hapticObjectInfos.Add(tempData.Id, tempData);
+ }
+ }
+
+ public void Serialize(BinaryWriter writer)
+ {
+ writer.Write(this.m_hapticObjectInfos.Count);
+ foreach (HapticObject hapticObject in this.m_hapticObjectInfos.Values)
+ {
+ hapticObject.Serialize(writer);
+ }
+ }
+
+ public HapticObject QueryById(uint id)
+ {
+ return this.m_hapticObjectInfos.GetValueOrDefault(id);
+ }
+}
+}
diff --git a/Assets/Scripts/OCES/Haptic/Generated/HapticObject.cs.meta b/Assets/Scripts/OCES/Haptic/Generated/HapticObject.cs.meta
new file mode 100644
index 0000000..915c8a4
--- /dev/null
+++ b/Assets/Scripts/OCES/Haptic/Generated/HapticObject.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 1a53a6b5d02fb40e4bd2de8e2c6ffa27
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant: