source: 2012/23/RamiP/YAG2DSSBase/YAG2DSS/YAG2DSS/ALTKEngine/Loader.cs @ 2811

Revision 2811, 5.4 KB checked in by ramipasa, 9 years ago (diff)
Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.IO;
5using Microsoft.Xna.Framework;
6using Microsoft.Xna.Framework.Audio;
7using Microsoft.Xna.Framework.Content;
8using Microsoft.Xna.Framework.GamerServices;
9using Microsoft.Xna.Framework.Graphics;
10using Microsoft.Xna.Framework.Input;
11using Microsoft.Xna.Framework.Media;
12using ALTK.GUI;
13
14namespace ALTK
15{
16    /// <summary>
17    /// This is a game component that implements IUpdateable.
18    /// </summary>
19    public class Loader : Microsoft.Xna.Framework.DrawableGameComponent
20    {
21        ContentManager content;
22
23        public Loader(Game game)
24            : base(game)
25        {
26            // TODO: Construct any child components here
27        }
28
29        /// <summary>
30        /// Allows the game component to perform any initialization it needs to before starting
31        /// to run.  This is where it can query for any required services and load content.
32        /// </summary>
33        public override void Initialize()
34        {
35            // TODO: Add your initialization code here
36
37            base.Initialize();
38        }
39
40        public Texture2D loadTexture(string texturePath)
41        {
42            return Texture2D.FromStream(GraphicsDevice, File.OpenRead(ALTKConstants.TexturePath + texturePath + ".png"));
43        }
44
45        public SpriteFont loadFont(string fontName)
46        {
47            return content.Load<SpriteFont>(ALTK.ALTKConstants.FontPath + fontName);
48        }
49
50        public SoundEffect loadMusic(string musicPath)
51        {
52            return SoundEffect.FromStream(File.OpenRead(ALTKConstants.MusicPath + musicPath + ".wav"));
53        }
54
55        public SoundEffect loadSound(string soundPath)
56        {
57            return SoundEffect.FromStream(File.OpenRead(ALTKConstants.SoundPath + soundPath + ".wav"));
58        }
59
60        //public string loadTextFile(string filePath)
61        //{
62        //    if (File.Exists(ALTK.ConfigPath + filePath + ".txt"))
63        //        return File.ReadAllText(ALTK.ConfigPath + filePath + ".txt", System.Text.Encoding.GetEncoding("Windows-1252"));
64        //    else if (File.Exists(ALTK.BaseConfigPath + filePath + ".txt"))
65        //        return File.ReadAllText(ALTK.BaseConfigPath + filePath + ".txt", System.Text.Encoding.GetEncoding("Windows-1252"));
66        //    else
67        //        return "<Missing string: " + filePath + ">";
68        //}
69
70        public Texture2D CreateBackgroundTexture(int Width, int Height, Color BackgroundColor)
71        {
72            Texture2D texture = new Texture2D(GraphicsDevice, Width, Height, false, SurfaceFormat.Color);
73
74            Color[] color = new Color[Width * Height];
75
76            for (int i = 0; i < color.Length; i++)
77            {
78                color[i] = BackgroundColor;
79            }
80
81            texture.SetData(color);
82
83            return texture;
84        }
85
86        public Texture2D CreateTexture(int width, int height, Color MainColor, Color SecondaryColor, Color TertiaryColor)
87        {
88            Texture2D Texture = new Texture2D(GraphicsDevice, width, height, false, SurfaceFormat.Color);
89
90            Color[] color = new Color[width * height];
91
92            // background color
93            // ***
94
95            for (int i = 0; i < color.Length; i++)
96                color[i] = MainColor;
97
98            // main border
99            // ***
100
101            // top
102            for (int i = width; i < (width * 3); i++)
103                color[i] = SecondaryColor;
104
105            // bottom
106            for (int i = color.Length - (width * 3); i < color.Length - width; i++)
107                color[i] = SecondaryColor;
108
109            // right
110            for (int i = 1; i < color.Length - width - 2; i = i + width)
111                color[i] = SecondaryColor;
112
113            for (int i = 2; i < color.Length - width - 2; i = i + width)
114                color[i] = SecondaryColor;
115
116            // left
117            for (int i = width - 3; i < color.Length; i = i + width)
118                color[i] = SecondaryColor;
119
120            for (int i = width - 2; i < color.Length; i = i + width)
121                color[i] = SecondaryColor;
122
123            // outer border
124            // ***
125
126            // top
127            for (int i = 0; i < width; i++)
128                color[i] = TertiaryColor;
129
130            // bottom
131            for (int i = color.Length - width; i < color.Length; i++)
132                color[i] = TertiaryColor;
133
134            // right
135            for (int i = 0; i < color.Length - width; i = i + width)
136                color[i] = TertiaryColor;
137
138            // left
139            for (int i = width - 1; i < color.Length; i = i + width)
140                color[i] = TertiaryColor;
141
142            Texture.SetData(color);
143            return Texture;
144        }
145
146        protected override void LoadContent()
147        {
148            content = new ContentManager(Game.Services);
149            content.RootDirectory = ALTKConstants.ContentPath;
150
151            base.LoadContent();
152        }
153
154        /// <summary>
155        /// Allows the game component to update itself.
156        /// </summary>
157        /// <param name="gameTime">Provides a snapshot of timing values.</param>
158        public override void Update(GameTime gameTime)
159        {
160            // TODO: Add your update code here
161
162            base.Update(gameTime);
163        }
164    }
165}
Note: See TracBrowser for help on using the repository browser.