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>
|
/// </summary>
|
||||||
public bool ContainerPlayMode { get; set; }
|
public bool ContainerPlayMode { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 按段落配置每段响应范围,用|分隔不同段落
|
|
||||||
/// </summary>
|
|
||||||
public string BlendRanges { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 0 = 指数
|
|
||||||
/// 1 = 线形
|
|
||||||
/// 2 = 对数
|
|
||||||
/// </summary>
|
|
||||||
public BlendCrossFadeType BlendCrossFadeType { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 指定避免重复的次数
|
/// 指定避免重复的次数
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -190,8 +178,6 @@ public partial class AudioObject : IBinarySerializable
|
|||||||
Haptic = reader.ReadUInt32();
|
Haptic = reader.ReadUInt32();
|
||||||
ContainerType = (ContainerType)reader.ReadByte();
|
ContainerType = (ContainerType)reader.ReadByte();
|
||||||
ContainerPlayMode = reader.ReadBoolean();
|
ContainerPlayMode = reader.ReadBoolean();
|
||||||
BlendRanges = reader.ReadString();
|
|
||||||
BlendCrossFadeType = (BlendCrossFadeType)reader.ReadByte();
|
|
||||||
LimitRepetition = reader.ReadByte();
|
LimitRepetition = reader.ReadByte();
|
||||||
RandomType = reader.ReadBoolean();
|
RandomType = reader.ReadBoolean();
|
||||||
VolumeStepThreshold = reader.ReadUInt32();
|
VolumeStepThreshold = reader.ReadUInt32();
|
||||||
@@ -231,8 +217,6 @@ public partial class AudioObject : IBinarySerializable
|
|||||||
writer.Write(Haptic);
|
writer.Write(Haptic);
|
||||||
writer.Write((byte)ContainerType);
|
writer.Write((byte)ContainerType);
|
||||||
writer.Write(ContainerPlayMode);
|
writer.Write(ContainerPlayMode);
|
||||||
writer.Write(BlendRanges);
|
|
||||||
writer.Write((byte)BlendCrossFadeType);
|
|
||||||
writer.Write(LimitRepetition);
|
writer.Write(LimitRepetition);
|
||||||
writer.Write(RandomType);
|
writer.Write(RandomType);
|
||||||
writer.Write(VolumeStepThreshold);
|
writer.Write(VolumeStepThreshold);
|
||||||
|
|||||||
@@ -25,7 +25,8 @@ public partial class MusicContainer : IBinarySerializable
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 0 = 随机播放
|
/// 0 = 随机播放
|
||||||
/// 1 = 顺序播放
|
/// 1 = 顺序播放
|
||||||
/// 2 = 同时播放
|
/// 2 = 混合播放
|
||||||
|
/// 3 = 切换播放
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public ContainerType ContainerType { get; set; }
|
public ContainerType ContainerType { get; set; }
|
||||||
|
|
||||||
|
|||||||
@@ -45,9 +45,20 @@ public partial class MusicTransition : IBinarySerializable
|
|||||||
public AlignMode AlignMode { get; set; }
|
public AlignMode AlignMode { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
/// 0 = Start
|
||||||
|
/// 1 = Same Time
|
||||||
/// </summary>
|
/// </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)
|
public void DeSerialize(BinaryReader reader)
|
||||||
@@ -58,7 +69,9 @@ public partial class MusicTransition : IBinarySerializable
|
|||||||
FadeInTime = reader.ReadSingle();
|
FadeInTime = reader.ReadSingle();
|
||||||
FadeInOffset = reader.ReadSingle();
|
FadeInOffset = reader.ReadSingle();
|
||||||
AlignMode = (AlignMode)reader.ReadByte();
|
AlignMode = (AlignMode)reader.ReadByte();
|
||||||
Segment = reader.ReadUInt32();
|
SyncPoint = (SyncPoint)reader.ReadByte();
|
||||||
|
StartOffset = reader.ReadUInt32();
|
||||||
|
EndOffset = reader.ReadUInt32();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Serialize(BinaryWriter writer)
|
public void Serialize(BinaryWriter writer)
|
||||||
@@ -69,7 +82,9 @@ public partial class MusicTransition : IBinarySerializable
|
|||||||
writer.Write(FadeInTime);
|
writer.Write(FadeInTime);
|
||||||
writer.Write(FadeInOffset);
|
writer.Write(FadeInOffset);
|
||||||
writer.Write((byte)AlignMode);
|
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)
|
AudioObject ResolveSwitchContainer(AudioObject switchContainer)
|
||||||
|
|||||||
@@ -52,6 +52,12 @@ namespace OCES.Audio
|
|||||||
Playing, // 已经开始播放
|
Playing, // 已经开始播放
|
||||||
Finished,
|
Finished,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public enum SyncPoint
|
||||||
|
{
|
||||||
|
Start,
|
||||||
|
SameAsCurrentSegment,
|
||||||
|
}
|
||||||
|
|
||||||
public interface IBinarySerializable
|
public interface IBinarySerializable
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ namespace OCES
|
|||||||
{
|
{
|
||||||
public class SetStateBind : MonoBehaviour
|
public class SetStateBind : MonoBehaviour
|
||||||
{
|
{
|
||||||
public GameState targetGameState;
|
public TileMaterial targetGameState;
|
||||||
public bool enableLowpass;
|
public bool enableLowpass;
|
||||||
public Text buttonText;
|
public Text buttonText;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user