Voice.cs 816 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. namespace COM3D2.MultipleMaids.Util
  2. {
  3. internal interface IVoice
  4. {
  5. int PickRandomVoice();
  6. }
  7. internal struct SingleVoice : IVoice
  8. {
  9. private readonly int VoiceID;
  10. public SingleVoice(int voice)
  11. {
  12. VoiceID = voice;
  13. }
  14. public int PickRandomVoice()
  15. {
  16. return VoiceID;
  17. }
  18. }
  19. internal struct VoiceRange : IVoice
  20. {
  21. private static readonly Random rand = new Random();
  22. private readonly int VoiceStart;
  23. private readonly int VoiceEnd;
  24. public VoiceRange(int start, int end)
  25. {
  26. VoiceStart = start;
  27. VoiceEnd = end;
  28. }
  29. public int PickRandomVoice()
  30. {
  31. return rand.Next(VoiceStart, VoiceEnd + 1);
  32. }
  33. }
  34. }