Exemplo n.º 1
0
        private static ExtractedSoundScale ReadSoundScale(IReader reader, byte version)
        {
            if (version > 0)
            {
                throw new InvalidOperationException("Unrecognized \"snsc\" block version");
            }

            int originalIndex = reader.ReadInt32();

            var scale = new SoundScale();

            scale.GainMin         = reader.ReadFloat();
            scale.GainMax         = reader.ReadFloat();
            scale.PitchMin        = reader.ReadInt32();
            scale.PitchMax        = reader.ReadInt32();
            scale.SkipFractionMin = reader.ReadFloat();
            scale.SkipFractionMax = reader.ReadFloat();

            return(new ExtractedSoundScale(originalIndex, scale));
        }
Exemplo n.º 2
0
    public SoundEffect GetSound()
    {
        float p = RangePercent;

        if (sounds.Length > 0)
        {
            SoundScale  sp = Sound(p);
            SoundEffect s  = sp.Sound();
            return(s);
        }
        if (soundProfiles.Length > 0)
        {
            SoundProfile sp = soundProfiles[Mathf.RoundToInt(Mathf.Lerp(0, soundProfiles.Length - 1, clipSelect.Evaluate(p)))];
            Debug.Log(sp.name);

            SoundEffect s = sp.GetSound();
            return(s);
        }

        return(null);
    }
Exemplo n.º 3
0
 public ExtractedSoundScale(int index, SoundScale src)
 {
     OriginalIndex = index;
     Source        = src;
 }