A stealth-based 2D platformer where you don't have to kill anyone unless you want to. https://www.semicolin.games
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.

114 lines
6.1 KiB

  1. using Microsoft.Xna.Framework.Content;
  2. using Microsoft.Xna.Framework.Graphics;
  3. using System.Collections.Generic;
  4. namespace SemiColinGames {
  5. public class TextureRef {
  6. private static readonly List<TextureRef> allTextures = new List<TextureRef>();
  7. public static void LoadAll(ContentManager content) {
  8. foreach (TextureRef texture in allTextures) {
  9. texture.Load(content);
  10. }
  11. }
  12. private readonly string contentPath;
  13. public TextureRef(string contentPath) {
  14. allTextures.Add(this);
  15. this.contentPath = contentPath;
  16. }
  17. public Texture2D Get { get; private set; }
  18. private void Load(ContentManager content) {
  19. Get = content.Load<Texture2D>(contentPath);
  20. }
  21. }
  22. public static class Textures {
  23. public static SpriteFont DebugFont;
  24. public static SpriteFont BannerFont;
  25. // Character spritesheets.
  26. public static TextureRef Executioner = new TextureRef("sprites/ccg/executioner_female");
  27. public static TextureRef Ninja = new TextureRef("sprites/ccg/ninja_female");
  28. // UI sprites.
  29. public static TextureRef Heart = new TextureRef("sprites/semicolin/heart");
  30. // Ship sprites.
  31. public static TextureRef Blue1 = new TextureRef("sprites/dylestorm/Blue-1");
  32. public static TextureRef Blue2 = new TextureRef("sprites/dylestorm/Blue-2");
  33. public static TextureRef Blue3 = new TextureRef("sprites/dylestorm/Blue-3");
  34. public static TextureRef Blue4 = new TextureRef("sprites/dylestorm/Blue-4");
  35. public static TextureRef Blue5 = new TextureRef("sprites/dylestorm/Blue-5");
  36. public static TextureRef DarkGrey1 = new TextureRef("sprites/dylestorm/DarkGrey-1");
  37. public static TextureRef DarkGrey2 = new TextureRef("sprites/dylestorm/DarkGrey-2");
  38. public static TextureRef DarkGrey3 = new TextureRef("sprites/dylestorm/DarkGrey-3");
  39. public static TextureRef DarkGrey4 = new TextureRef("sprites/dylestorm/DarkGrey-4");
  40. public static TextureRef DarkGrey5 = new TextureRef("sprites/dylestorm/DarkGrey-5");
  41. public static TextureRef Green1 = new TextureRef("sprites/dylestorm/Green-1");
  42. public static TextureRef Green2 = new TextureRef("sprites/dylestorm/Green-2");
  43. public static TextureRef Green3 = new TextureRef("sprites/dylestorm/Green-3");
  44. public static TextureRef Green4 = new TextureRef("sprites/dylestorm/Green-4");
  45. public static TextureRef Green5 = new TextureRef("sprites/dylestorm/Green-5");
  46. public static TextureRef Purple1 = new TextureRef("sprites/dylestorm/Purple-1");
  47. public static TextureRef Purple2 = new TextureRef("sprites/dylestorm/Purple-2");
  48. public static TextureRef Purple3 = new TextureRef("sprites/dylestorm/Purple-3");
  49. public static TextureRef Purple4 = new TextureRef("sprites/dylestorm/Purple-4");
  50. public static TextureRef Purple5 = new TextureRef("sprites/dylestorm/Purple-5");
  51. public static TextureRef Red1 = new TextureRef("sprites/dylestorm/Red-1");
  52. public static TextureRef Red2 = new TextureRef("sprites/dylestorm/Red-2");
  53. public static TextureRef Red3 = new TextureRef("sprites/dylestorm/Red-3");
  54. public static TextureRef Red4 = new TextureRef("sprites/dylestorm/Red-4");
  55. public static TextureRef Red5 = new TextureRef("sprites/dylestorm/Red-5");
  56. public static TextureRef SilverBlue1 = new TextureRef("sprites/dylestorm/SilverBlue-1");
  57. public static TextureRef SilverBlue2 = new TextureRef("sprites/dylestorm/SilverBlue-2");
  58. public static TextureRef SilverBlue3 = new TextureRef("sprites/dylestorm/SilverBlue-3");
  59. public static TextureRef SilverBlue4 = new TextureRef("sprites/dylestorm/SilverBlue-4");
  60. public static TextureRef SilverBlue5 = new TextureRef("sprites/dylestorm/SilverBlue-5");
  61. public static TextureRef Yellow1 = new TextureRef("sprites/dylestorm/Yellow-1");
  62. public static TextureRef Yellow2 = new TextureRef("sprites/dylestorm/Yellow-2");
  63. public static TextureRef Yellow3 = new TextureRef("sprites/dylestorm/Yellow-3");
  64. public static TextureRef Yellow4 = new TextureRef("sprites/dylestorm/Yellow-4");
  65. public static TextureRef Yellow5 = new TextureRef("sprites/dylestorm/Yellow-5");
  66. public static TextureRef Projectile1 = new TextureRef("sprites/dylestorm/projectile02-1");
  67. public static TextureRef Projectile2 = new TextureRef("sprites/dylestorm/projectile02-2");
  68. public static TextureRef Projectile3 = new TextureRef("sprites/dylestorm/projectile02-3");
  69. public static TextureRef Projectile4 = new TextureRef("sprites/dylestorm/projectile02-4");
  70. public static TextureRef Projectile5 = new TextureRef("sprites/dylestorm/projectile02-5");
  71. // Planets.
  72. public static TextureRef Terran = new TextureRef("sprites/helianthus/Terran");
  73. // Backgrounds are indexed by draw order; the first element should be drawn furthest back.
  74. public static TextureRef[] Backgrounds = new TextureRef[] {
  75. new TextureRef("backgrounds/szadiart/pf4/background1_day"),
  76. new TextureRef("backgrounds/szadiart/pf4/background2a_day"),
  77. new TextureRef("backgrounds/szadiart/pf4/background3_day"),
  78. new TextureRef("backgrounds/szadiart/pf4/background4_day"),
  79. };
  80. // Background tiles.
  81. public static TextureRef Cemetery = new TextureRef("tiles/anokolisa/cemetery");
  82. public static TextureRef Crypt = new TextureRef("tiles/anokolisa/crypt");
  83. public static TextureRef Dungeon = new TextureRef("tiles/anokolisa/dungeon");
  84. public static TextureRef Forest = new TextureRef("tiles/anokolisa/forest");
  85. public static TextureRef Garden = new TextureRef("tiles/anokolisa/garden");
  86. public static TextureRef Grassland = new TextureRef("tiles/anokolisa/grassland");
  87. public static TextureRef Ruins = new TextureRef("tiles/anokolisa/ruins");
  88. public static TextureRef Sewer = new TextureRef("tiles/anokolisa/sewer");
  89. public static TextureRef Temple = new TextureRef("tiles/anokolisa/temple");
  90. public static TextureRef Village = new TextureRef("tiles/anokolisa/village");
  91. public static void Load(ContentManager content) {
  92. DebugFont = content.Load<SpriteFont>("fonts/debug");
  93. BannerFont = content.Load<SpriteFont>("fonts/banner");
  94. TextureRef.LoadAll(content);
  95. }
  96. }
  97. }