Newer
Older
TheVengeance-Project-IADE-Unity2D / Assets / Ink / InkLibs / InkCompiler / CharacterSet.cs
@Rackday Rackday on 29 Oct 904 bytes Major Update
  1. using System.Collections.Generic;
  2. namespace Ink
  3. {
  4. public class CharacterSet : HashSet<char>
  5. {
  6. public static CharacterSet FromRange(char start, char end)
  7. {
  8. return new CharacterSet ().AddRange (start, end);
  9. }
  10. public CharacterSet ()
  11. {
  12. }
  13. public CharacterSet(string str)
  14. {
  15. AddCharacters (str);
  16. }
  17. public CharacterSet(CharacterSet charSetToCopy)
  18. {
  19. AddCharacters (charSetToCopy);
  20. }
  21. public CharacterSet AddRange(char start, char end)
  22. {
  23. for(char c=start; c<=end; ++c) {
  24. Add (c);
  25. }
  26. return this;
  27. }
  28. public CharacterSet AddCharacters(IEnumerable<char> chars)
  29. {
  30. foreach (char c in chars) {
  31. Add (c);
  32. }
  33. return this;
  34. }
  35. public CharacterSet AddCharacters (string chars)
  36. {
  37. foreach (char c in chars) {
  38. Add (c);
  39. }
  40. return this;
  41. }
  42. }
  43. }