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.
 
 
 

92 line
3.3 KiB

  1. const scenes = {};
  2. scenes["Demo"] = () => {
  3. removeAllEntities();
  4. let entity = availableEntitiesByName["Fen"].constructor();
  5. displayEntity(entity, entity.defaultView, 0, 1);
  6. entity = availableEntitiesByName["Deerpuff"].constructor();
  7. displayEntity(entity, entity.defaultView, 0, 1);
  8. entity = availableEntitiesByName["Sofia"].constructor();
  9. entity.views[entity.view].height = entity.sizes[2].height;
  10. displayEntity(entity, entity.defaultView, 0, 1);
  11. entity = availableEntitiesByName["Vivian"].constructor();
  12. entity.views[entity.view].height = entity.sizes[2].height;
  13. displayEntity(entity, entity.defaultView, 0, 1);
  14. arrangeEntities(getSortedEntities());
  15. entity = availableEntitiesByName["Houston"].constructor();
  16. displayEntity(entity, entity.defaultView, 0.5, 1);
  17. fitWorld(true);
  18. }
  19. scenes["Military"] = () => {
  20. removeAllEntities();
  21. let entity = availableEntitiesByName["Asana (Mech)"].constructor();
  22. displayEntity(entity, entity.defaultView, 0, 1);
  23. entity = availableEntitiesByName["Napalm"].constructor();
  24. displayEntity(entity, entity.defaultView, 0, 1);
  25. entity = availableEntitiesByName["Chez"].constructor();
  26. displayEntity(entity, entity.defaultView, 0, 1);
  27. entity = availableEntitiesByName["Leopard 2 Rev. 1"].constructor();
  28. displayEntity(entity, entity.defaultView, 0, 1);
  29. entity = availableEntitiesByName["Asana"].constructor();
  30. displayEntity(entity, entity.defaultView, 0, 1);
  31. entity = availableEntitiesByName["Ashtrek"].constructor();
  32. entity.views[entity.view].height = entity.sizes[0].height;
  33. displayEntity(entity, entity.defaultView, 0, 1);
  34. arrangeEntities(getSortedEntities());
  35. fitWorld(true);
  36. }
  37. function makeSlice(min, max) {
  38. return () => {
  39. const characters = availableEntities["characters"].filter(x => {
  40. const entity = x.constructor();
  41. return math.compare(entity.views[entity.view].height, min) == 1 && math.compare(entity.views[entity.view].height, max) != 1
  42. });
  43. characters.forEach(character => {
  44. const entity = character.constructor();
  45. displayEntity(entity, entity.view, 0, 1);
  46. });
  47. arrangeEntities(getSortedEntities());
  48. fitWorld(true);
  49. }
  50. }
  51. scenes["x < 10m"] = makeSlice(math.unit(0, "meters"), math.unit(10, "meters"));
  52. scenes["10m < x <= 100m"] = makeSlice(math.unit(10, "meters"), math.unit(100, "meters"));
  53. scenes["100m < x <= 1km"] = makeSlice(math.unit(100, "meters"), math.unit(1000, "meters"));
  54. scenes["1km < x <= 10km"] = makeSlice(math.unit(1000, "meters"), math.unit(10000, "meters"));
  55. scenes["10km < x <= 100km"] = makeSlice(math.unit(10000, "meters"), math.unit(100000, "meters"));
  56. scenes["100km < x <= 1000km"] = makeSlice(math.unit(100000, "meters"), math.unit(1000000, "meters"));
  57. scenes["Everyone"] = makeSlice(math.unit(0.000000000000000001, "meters"), math.unit(1000000e100, "meters"));
  58. scenes["Kurri"] = () => {
  59. availableEntities["characters"].filter(x => {
  60. const entity = x.constructor();
  61. return entity.info.author == "Kurrikage";
  62. }).forEach(maker => {
  63. const entity = maker.constructor();
  64. displayEntity(entity, entity.view, 0, 1);
  65. });
  66. arrangeEntities(getSortedEntities());
  67. fitWorld(true);
  68. }