less copy protection, more size visualization
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

81 lines
1.8 KiB

  1. function makeDildo(name, info, sizes) {
  2. const views = {};
  3. let folder = name.replace(/ /g, "-").toLowerCase() + "/";
  4. info.forEach(entry => {
  5. let src = "./media/dildos/" + folder + entry[0].replace(/ /g, "-").toLowerCase() + ".svg";
  6. views[entry[0]] = {
  7. height: math.unit(entry[1], entry[2]),
  8. image: { source: src },
  9. name: entry[0],
  10. rename: true
  11. }
  12. });
  13. return {
  14. name: name,
  15. constructor: () => {
  16. const maker = makeObject(
  17. name,
  18. views
  19. );
  20. maker.sizes = [];
  21. sizes.forEach(size => {
  22. maker.sizes.push({
  23. name: size[0],
  24. height: math.unit(size[1], size[2])
  25. })
  26. })
  27. maker.sizes[maker.sizes.length - 1].default = true;
  28. return maker;
  29. }
  30. }
  31. }
  32. function makeDildos() {
  33. const results = [];
  34. results.push(makeDildo(
  35. "Chance",
  36. [
  37. ["Side", 17.5, "inches"],
  38. ["Front", 17.5, "inches"],
  39. ["Top", 7.91, "inches"],
  40. ["Head", 2.72, "inches"]
  41. ],
  42. [
  43. ["Small", 8, "inches"],
  44. ["Medium", 11.5, "inches"],
  45. ["Large", 14, "inches"],
  46. ["Extra Large", 17.5, "inches"]
  47. ]
  48. ))
  49. results.push(makeDildo(
  50. "Rex",
  51. [
  52. ["Side", 14.5, "inches"],
  53. ["Front", 14.5, "inches"],
  54. ["Top", 5.54, "inches"],
  55. ["Head", 2.13, "inches"]
  56. ],
  57. [
  58. ["Mini", 6, "inches"],
  59. ["Small", 8, "inches"],
  60. ["Medium", 10, "inches"],
  61. ["Large", 12, "inches"],
  62. ["Extra Large", 14.5, "inches"]
  63. ]
  64. ))
  65. return results;
  66. }