TizzyT

ContentMngr

Aug 24th, 2016
250
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 4.59 KB | None | 0 0
  1. Imports System.Collections.Generic
  2. Imports System.Drawing
  3. Imports System.IO
  4. Imports System.Net
  5. Imports Microsoft.Xna.Framework
  6. Imports Microsoft.Xna.Framework.Graphics
  7.  
  8. Public Class Game1
  9.     Inherits Game
  10.  
  11.     Public Sprite As New Dictionary(Of String, Texture2D)
  12.     Public Audio As New Dictionary(Of String, Object)
  13.     Public Text As New Dictionary(Of String, Object)
  14.     Public Screen As SpriteBatch
  15.     Public Graphics As GraphicsDeviceManager
  16.  
  17.     Public Sub New()
  18.         MyBase.New()
  19.         Graphics = New GraphicsDeviceManager(Me)
  20.         PreferredBackBufferResolution = {1280, 480}
  21.     End Sub
  22.  
  23.     Protected Overrides Sub Initialize()
  24.         Screen = New SpriteBatch(GraphicsDevice)
  25.         MyBase.Initialize()
  26.     End Sub
  27.  
  28.     'LoadSpriteFromFile("Pikachu", "C:\Users\Timothy Filbert\Desktop\giphy.gif") 'Works
  29.     'LoadSpriteFromURL("Pikachu", "http://pldh.net/media/pokemon/gen3/rusa_back/025.png") 'Works
  30.     'LoadSpriteFrimBitmap("Pikachu", New Bitmap("C:\Users\Timothy Filbert\Desktop\giphy.gif")) 'Works
  31.     'Using sr As New StreamReader("C:\Users\Timothy Filbert\Desktop\giphy.gif") : LoadSpriteFromStream("Pikachu", sr.BaseStream) : End Using 'Works
  32.  
  33.     Protected Overrides Sub Update(gameTime As GameTime)
  34.         GameLogic(gameTime)
  35.         MyBase.Update(gameTime)
  36.     End Sub
  37.  
  38.     Protected Overrides Sub Draw(gameTime As GameTime)
  39.  
  40.         MyBase.Draw(gameTime)
  41.     End Sub
  42.  
  43.     Public Property PreferredBackBufferResolution() As Integer()
  44.         Get
  45.             Return {Graphics.PreferredBackBufferWidth, Graphics.PreferredBackBufferHeight}
  46.         End Get
  47.         Set(value As Integer())
  48.             Graphics.PreferredBackBufferWidth = value(0)
  49.             Graphics.PreferredBackBufferHeight = value(1)
  50.             Graphics.ApplyChanges()
  51.         End Set
  52.     End Property
  53.  
  54.     Public Sub LoadSpriteFromFile(ByVal Name As String, ByVal Path As String)
  55.         Using sr As New StreamReader(Path)
  56.             If Not Sprite.ContainsKey(Name) Then Sprite.Add(Name, Texture2D.FromStream(GraphicsDevice, sr.BaseStream))
  57.         End Using
  58.     End Sub
  59.  
  60.     Public Sub LoadSpriteFromStream(ByVal Name As String, ByVal Stream As Stream)
  61.         Using Stream
  62.             If Not Sprite.ContainsKey(Name) Then Sprite.Add(Name, Texture2D.FromStream(GraphicsDevice, Stream))
  63.             Stream.Close()
  64.         End Using
  65.     End Sub
  66.  
  67.     Public Sub LoadSpriteFromURL(ByVal Name As String, ByVal URL As String)
  68.         Using wc As New WebClient
  69.             Using ms As New MemoryStream(wc.DownloadData(URL))
  70.                 If Not Sprite.ContainsKey(Name) Then Sprite.Add(Name, Texture2D.FromStream(GraphicsDevice, ms))
  71.                 ms.Close()
  72.             End Using
  73.         End Using
  74.     End Sub
  75.  
  76.     Public Sub LoadSpriteFrimBitmap(ByVal Name As String, ByVal Image As Bitmap)
  77.         Using ms As New MemoryStream
  78.             Using Image
  79.                 Image.Save(ms, Imaging.ImageFormat.Png)
  80.                 If Not Sprite.ContainsKey(Name) Then Sprite.Add(Name, Texture2D.FromStream(GraphicsDevice, ms))
  81.             End Using
  82.             ms.Close()
  83.         End Using
  84.     End Sub
  85.  
  86.     Public Sub UnloadSprite(ByVal Name As String)
  87.         If Sprite.ContainsKey(Name) Then
  88.             Sprite(Name).Dispose()
  89.             Sprite.Remove(Name)
  90.         End If
  91.     End Sub
  92.  
  93.     Public Sub ClearSprites()
  94.         For Each s As KeyValuePair(Of String, Texture2D) In Sprite : s.Value.Dispose() : Next
  95.         Sprite.Clear()
  96.     End Sub
  97.  
  98.     Public Sub DrawSprite(ByVal Name As String, ByVal X As Integer, ByVal Y As Integer, Optional ByVal Opacity As Single = 1.0)
  99.         Screen.Draw(Sprite(Name), New Vector2(X, Y), Microsoft.Xna.Framework.Color.White * Opacity)
  100.     End Sub
  101.     Public Sub DrawSprite(ByVal Name As String, ByVal X As Integer, ByVal Y As Integer, ByVal Color As Microsoft.Xna.Framework.Color, Optional ByVal Opacity As Single = 1.0)
  102.         Screen.Draw(Sprite(Name), New Vector2(X, Y), Color * Opacity)
  103.     End Sub
  104.  
  105.     Public Sub DrawSprite(ByVal Name As String, ByVal X As Integer, ByVal Y As Integer, ByVal W As Integer, ByVal H As Integer, Optional ByVal Opacity As Single = 1.0)
  106.         Screen.Draw(Sprite(Name), New Microsoft.Xna.Framework.Rectangle(X, Y, W, H), Microsoft.Xna.Framework.Color.White * Opacity)
  107.     End Sub
  108.     Public Sub DrawSprite(ByVal Name As String, ByVal X As Integer, ByVal Y As Integer, ByVal W As Integer, ByVal H As Integer, ByVal Color As Microsoft.Xna.Framework.Color, Optional ByVal Opacity As Single = 1.0)
  109.         Screen.Draw(Sprite(Name), New Microsoft.Xna.Framework.Rectangle(X, Y, W, H), Color * Opacity)
  110.     End Sub
  111. End Class
Advertisement
Add Comment
Please, Sign In to add comment