/* * 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); } } }