first commit

This commit is contained in:
2026-03-20 17:55:53 +08:00
commit 41e38311f0
327 changed files with 11557 additions and 0 deletions
@@ -0,0 +1,148 @@
/*
* auto generated by tools(注意:千万不要手动修改本文件)
* MusicContainer
*/
using System;
using System.IO;
using System.Collections.Generic;
using System.Text;
namespace OCES.Audio
{
[Serializable]
public partial class MusicContainer : IBinarySerializable
{
/// <summary>
/// 一定不要出现循环
/// </summary>
public uint Id { get; set; }
/// <summary>
/// 1000000以下的是musicId 以上的是ContainerId
/// </summary>
public List<uint> Segments { get; set; }
/// <summary>
/// 0 = 随机播放
/// 1 = 顺序播放
/// 2 = 同时播放
/// </summary>
public ContainerType ContainerType { get; set; }
/// <summary>
/// 0 = 步进
/// 1 = 持续
/// </summary>
public bool ContainerPlayMode { get; set; }
/// <summary>
/// sequence: 间隔时间(s)
/// </summary>
public ushort StrategyParam { get; set; }
/// <summary>
/// -1 = 无限循环
/// 0 = 不循环
/// >= 1 按次数循环
/// </summary>
public short LoopCount { get; set; }
/// <summary>
/// 速度
/// 可以是小数
/// </summary>
public float Bpm { get; set; }
/// <summary>
/// 拍号
/// 采用德国体系定义
/// </summary>
public string TimeSig { get; set; }
public void DeSerialize(BinaryReader reader)
{
Id = reader.ReadUInt32();
var segmentsCount = reader.ReadInt32();
if (segmentsCount > 0)
{
Segments = new List<uint>();
for (int i = 0; i < segmentsCount; i++)
{
Segments.Add(reader.ReadUInt32());
}
}
else
{
Segments = null;
}
ContainerType = (ContainerType)reader.ReadByte();
ContainerPlayMode = reader.ReadBoolean();
StrategyParam = reader.ReadUInt16();
LoopCount = reader.ReadInt16();
Bpm = reader.ReadSingle();
TimeSig = reader.ReadString();
}
public void Serialize(BinaryWriter writer)
{
writer.Write(Id);
if (Segments == null || Segments.Count == 0)
{
writer.Write(0);
}
else
{
writer.Write(Segments.Count);
for (int i = 0; i < Segments.Count; i++)
{
writer.Write(Segments[i]);
}
}
writer.Write((byte)ContainerType);
writer.Write(ContainerPlayMode);
writer.Write(StrategyParam);
writer.Write(LoopCount);
writer.Write(Bpm);
writer.Write(TimeSig);
}
}
[Serializable]
public partial class MusicContainerConfig : IBinarySerializable
{
Dictionary<uint,MusicContainer> m_musicContainerInfos = new();
List<MusicContainer> m_musicContainerInfoList;
public List<MusicContainer> MusicContainerList()
{
this.m_musicContainerInfoList ??= new List<MusicContainer>(m_musicContainerInfos.Values);
return this.m_musicContainerInfoList;
}
public void DeSerialize(BinaryReader reader)
{
int count = reader.ReadInt32();
for (int i = 0; i < count; i++)
{
MusicContainer tempData = new();
tempData.DeSerialize(reader);
this.m_musicContainerInfos.Add(tempData.Id, tempData);
}
}
public void Serialize(BinaryWriter writer)
{
writer.Write(this.m_musicContainerInfos.Count);
foreach (MusicContainer musicContainer in this.m_musicContainerInfos.Values)
{
musicContainer.Serialize(writer);
}
}
public MusicContainer QueryById(uint id)
{
return this.m_musicContainerInfos.GetValueOrDefault(id);
}
}
}