mirror of
https://git.do.srb2.org/STJr/UltimateZoneBuilder.git
synced 2024-11-30 07:31:36 +00:00
91 lines
1.8 KiB
C#
Executable file
91 lines
1.8 KiB
C#
Executable file
#region ================== Namespaces
|
|
|
|
using System;
|
|
using System.Collections.Generic;
|
|
|
|
#endregion
|
|
|
|
namespace CodeImp.DoomBuilder.ZDoom
|
|
{
|
|
public class SoundInfo
|
|
{
|
|
#region ================== Enums
|
|
|
|
public enum RolloffType
|
|
{
|
|
NONE,
|
|
INVALID,
|
|
CUSTOM,
|
|
LINEAR,
|
|
LOG
|
|
}
|
|
|
|
public enum SoundInfoType
|
|
{
|
|
SOUND,
|
|
GROUP_RANDOM,
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region ================== Variables
|
|
|
|
private string name;
|
|
private List<SoundInfo> children;
|
|
private SoundInfoType type;
|
|
|
|
#endregion
|
|
|
|
#region ================== Properties
|
|
|
|
public string Name { get { return name; } }
|
|
public List<SoundInfo> Children { get { return children; } }
|
|
public SoundInfoType Type { get { return type; } internal set { type = value; } }
|
|
|
|
// Sound settings
|
|
public string LumpName;
|
|
public float Volume;
|
|
public float Attenuation;
|
|
public int MinimumDistance;
|
|
public int MaximumDistance;
|
|
public RolloffType Rolloff;
|
|
public float RolloffFactor;
|
|
|
|
#endregion
|
|
|
|
#region ================== Constructor
|
|
|
|
public SoundInfo(string name)
|
|
{
|
|
this.name = name;
|
|
children = new List<SoundInfo>();
|
|
type = SoundInfoType.SOUND;
|
|
|
|
// Set non-existent settings
|
|
Volume = float.MinValue;
|
|
Attenuation = float.MinValue;
|
|
MinimumDistance = int.MinValue;
|
|
MaximumDistance = int.MinValue;
|
|
Rolloff = RolloffType.INVALID;
|
|
RolloffFactor = float.MinValue;
|
|
}
|
|
|
|
// Default props constructor
|
|
internal SoundInfo()
|
|
{
|
|
this.name = "#GLOBAL_PROPERTIES#";
|
|
children = new List<SoundInfo>();
|
|
type = SoundInfoType.SOUND;
|
|
|
|
// Set non-existent settings
|
|
Volume = 1.0f;
|
|
Attenuation = 1.0f;
|
|
MinimumDistance = 200;
|
|
MaximumDistance = 1200;
|
|
Rolloff = RolloffType.NONE;
|
|
RolloffFactor = 1.0f; // Is this the default value?
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|