WIP: MusicTransition SyncPoint
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -108,18 +108,6 @@ public partial class AudioObject : IBinarySerializable
|
||||
/// </summary>
|
||||
public bool ContainerPlayMode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 按段落配置每段响应范围,用|分隔不同段落
|
||||
/// </summary>
|
||||
public string BlendRanges { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 0 = 指数
|
||||
/// 1 = 线形
|
||||
/// 2 = 对数
|
||||
/// </summary>
|
||||
public BlendCrossFadeType BlendCrossFadeType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 指定避免重复的次数
|
||||
/// </summary>
|
||||
@@ -190,8 +178,6 @@ public partial class AudioObject : IBinarySerializable
|
||||
Haptic = reader.ReadUInt32();
|
||||
ContainerType = (ContainerType)reader.ReadByte();
|
||||
ContainerPlayMode = reader.ReadBoolean();
|
||||
BlendRanges = reader.ReadString();
|
||||
BlendCrossFadeType = (BlendCrossFadeType)reader.ReadByte();
|
||||
LimitRepetition = reader.ReadByte();
|
||||
RandomType = reader.ReadBoolean();
|
||||
VolumeStepThreshold = reader.ReadUInt32();
|
||||
@@ -231,8 +217,6 @@ public partial class AudioObject : IBinarySerializable
|
||||
writer.Write(Haptic);
|
||||
writer.Write((byte)ContainerType);
|
||||
writer.Write(ContainerPlayMode);
|
||||
writer.Write(BlendRanges);
|
||||
writer.Write((byte)BlendCrossFadeType);
|
||||
writer.Write(LimitRepetition);
|
||||
writer.Write(RandomType);
|
||||
writer.Write(VolumeStepThreshold);
|
||||
|
||||
@@ -25,7 +25,8 @@ public partial class MusicContainer : IBinarySerializable
|
||||
/// <summary>
|
||||
/// 0 = 随机播放
|
||||
/// 1 = 顺序播放
|
||||
/// 2 = 同时播放
|
||||
/// 2 = 混合播放
|
||||
/// 3 = 切换播放
|
||||
/// </summary>
|
||||
public ContainerType ContainerType { get; set; }
|
||||
|
||||
|
||||
@@ -45,9 +45,20 @@ public partial class MusicTransition : IBinarySerializable
|
||||
public AlignMode AlignMode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// 0 = Start
|
||||
/// 1 = Same Time
|
||||
/// </summary>
|
||||
public uint Segment { get; set; }
|
||||
public SyncPoint SyncPoint { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// samples
|
||||
/// </summary>
|
||||
public uint StartOffset { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// samples
|
||||
/// </summary>
|
||||
public uint EndOffset { get; set; }
|
||||
|
||||
|
||||
public void DeSerialize(BinaryReader reader)
|
||||
@@ -58,7 +69,9 @@ public partial class MusicTransition : IBinarySerializable
|
||||
FadeInTime = reader.ReadSingle();
|
||||
FadeInOffset = reader.ReadSingle();
|
||||
AlignMode = (AlignMode)reader.ReadByte();
|
||||
Segment = reader.ReadUInt32();
|
||||
SyncPoint = (SyncPoint)reader.ReadByte();
|
||||
StartOffset = reader.ReadUInt32();
|
||||
EndOffset = reader.ReadUInt32();
|
||||
}
|
||||
|
||||
public void Serialize(BinaryWriter writer)
|
||||
@@ -69,7 +82,9 @@ public partial class MusicTransition : IBinarySerializable
|
||||
writer.Write(FadeInTime);
|
||||
writer.Write(FadeInOffset);
|
||||
writer.Write((byte)AlignMode);
|
||||
writer.Write(Segment);
|
||||
writer.Write((byte)SyncPoint);
|
||||
writer.Write(StartOffset);
|
||||
writer.Write(EndOffset);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -244,7 +244,7 @@ namespace OCES.Audio
|
||||
{
|
||||
// ── 启动默认音乐与环境音 ──
|
||||
// 触发一次初始状态,让音乐系统从默认状态开始匹配
|
||||
SetState(GameState.Home);
|
||||
//SetState(GameState.Home);
|
||||
}
|
||||
|
||||
AudioObject ResolveSwitchContainer(AudioObject switchContainer)
|
||||
|
||||
@@ -52,6 +52,12 @@ namespace OCES.Audio
|
||||
Playing, // 已经开始播放
|
||||
Finished,
|
||||
}
|
||||
|
||||
public enum SyncPoint
|
||||
{
|
||||
Start,
|
||||
SameAsCurrentSegment,
|
||||
}
|
||||
|
||||
public interface IBinarySerializable
|
||||
{
|
||||
|
||||
@@ -7,7 +7,7 @@ namespace OCES
|
||||
{
|
||||
public class SetStateBind : MonoBehaviour
|
||||
{
|
||||
public GameState targetGameState;
|
||||
public TileMaterial targetGameState;
|
||||
public bool enableLowpass;
|
||||
public Text buttonText;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user