budnhead/NHEngine/BootStrap.cs

91 lines
1.6 KiB
C#
Raw Normal View History

2017-04-20 16:49:43 +02:00
using System;
using System.IO;
using System.Drawing;
using System.Drawing.Imaging;
2017-04-20 16:49:43 +02:00
using OpenTK.Graphics.OpenGL4;
using OpenTK;
2017-04-25 22:01:18 +02:00
using OpenTK.Audio.OpenAL;
using OpenTK.Audio;
using ImageSharp;
2017-05-04 23:57:00 +02:00
using ImageSharp.Processing;
2017-05-01 01:33:33 +02:00
using org.niclasundharald.engine.graphics;
2017-05-04 23:57:00 +02:00
using org.niclasundharald.engine;
2017-04-25 22:01:18 +02:00
2017-04-20 16:49:43 +02:00
namespace nhengine
{
public class BootStrap
{
public static BootStrap _instance;
public static BootStrap instance()
{
return _instance;
}
OpenGLWindow glWindow;
SquaredMap map;
public static void Main(string[] args){
2017-04-25 22:01:18 +02:00
_instance = new BootStrap();
2017-04-20 16:49:43 +02:00
2017-04-25 22:01:18 +02:00
_instance.run();
2017-04-20 16:49:43 +02:00
}
public BootStrap()
{
bootGraphics();
bootMap();
}
public SquaredMap SquaredMap {
get { return this.map; }
}
public void bootGraphics(){
glWindow = new OpenGLWindow();
2017-05-01 01:33:33 +02:00
glWindow.MakeCurrent();
2017-04-25 22:01:18 +02:00
GlobalDefaults.instance();
}
public void bootAudio(){
AL.Enable(ALCapability.Invalid);
2017-04-20 16:49:43 +02:00
}
2017-05-01 01:33:33 +02:00
public void bootMap(){
ImageSharp.Image i = ImageSharp.Image.Load( new FileStream("M3-wip.png",FileMode.Open));
i.Flip(ImageSharp.Processing.FlipType.Vertical);
2017-05-04 23:57:00 +02:00
i.Resize(500,500);
map = new SquaredMap(i);
2017-05-01 01:33:33 +02:00
glWindow.Scene.RootObject.addChild( map );
2017-05-04 23:57:00 +02:00
ModelManager.instance.addSearchPath("./models");
DumpObject dobj = new DumpObject();
dobj.Model3D = ModelManager.instance.loadModel("alfa147",0.0254f);
2017-05-06 12:36:31 +02:00
Vector3 v3 = map.ground(new Vector2(24,24));
2017-05-04 23:57:00 +02:00
v3.Z *= 2;
dobj.Position = v3;
glWindow.Scene.RootObject.addChild( dobj );
2017-04-20 16:49:43 +02:00
}
public void run(){
glWindow.MakeCurrent();
2017-05-04 23:57:00 +02:00
glWindow.Run(25,25);
2017-04-20 16:49:43 +02:00
}
}
}