Esempio n. 1
0
        public override void Deserialize(System.IO.BinaryReader stream)
        {
            AudioClipType type = (AudioClipType)stream.ReadInt32();

            if (type == AudioClipType.Waveform)
            {
                WaveType waveType  = (WaveType)stream.ReadInt32();
                double   frequency = stream.ReadDouble();
                Value = new WaveClip(waveType, frequency);
            }
        }
Esempio n. 2
0
 public override void Serialize(System.IO.BinaryWriter stream)
 {
     if (Value == null)
     {
         stream.Write((int)AudioClipType.None);
         return;
     }
     if (Value is WaveClip)
     {
         stream.Write((int)AudioClipType.Waveform);
         WaveClip clip = Value as WaveClip;
         stream.Write((int)clip.Wave);
         stream.Write(clip.Frequency);
     }
 }
Esempio n. 3
0
        public override string Export()
        {
            if (Value == null)
            {
                return(AudioClipType.None.ToString());
            }
            string output = "";

            if (Value is WaveClip)
            {
                WaveClip clip = Value as WaveClip;
                output += AudioClipType.Waveform + "(" + clip.Wave + ", " + clip.Frequency + ")";
            }
            else
            {
                throw new NotImplementedException("AudioClip type " + Value.GetType().Name + " doesn't have an exporter defined.");
            }
            return(output);
        }
Esempio n. 4
0
        public override void Import(string input)
        {
            int           splitPt = input.IndexOf('(');
            string        typeStr = (splitPt == -1) ? input : input.Substring(0, splitPt);
            AudioClipType type    = (AudioClipType)Enum.Parse(typeof(AudioClipType), typeStr);

            if (type == AudioClipType.None)
            {
                return;
            }
            string data = input.Substring(splitPt);

            data = data.Substring(1, data.Length - 2);
            if (type == AudioClipType.Waveform)
            {
                string[] bits = data.Replace(", ", ",").Split(',');
                Value = new WaveClip((WaveType)Enum.Parse(typeof(WaveType), bits[0]), double.Parse(bits[1]));
            }
            else
            {
                throw new NotImplementedException("AudioClip type " + type + " doesn't have an importer defined.");
            }
        }