budnhead/NHEngine/BootStrap.cs

91 lines
1.6 KiB
C#

using System;
using System.IO;
using System.Drawing;
using System.Drawing.Imaging;
using OpenTK.Graphics.OpenGL4;
using OpenTK;
using OpenTK.Audio.OpenAL;
using OpenTK.Audio;
using ImageSharp;
using ImageSharp.Processing;
using org.niclasundharald.engine.graphics;
using org.niclasundharald.engine;
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){
_instance = new BootStrap();
_instance.run();
}
public BootStrap()
{
bootGraphics();
bootMap();
}
public SquaredMap SquaredMap {
get { return this.map; }
}
public void bootGraphics(){
glWindow = new OpenGLWindow();
glWindow.MakeCurrent();
GlobalDefaults.instance();
}
public void bootAudio(){
AL.Enable(ALCapability.Invalid);
}
public void bootMap(){
ImageSharp.Image i = ImageSharp.Image.Load( new FileStream("M3-wip.png",FileMode.Open));
i.Flip(ImageSharp.Processing.FlipType.Vertical);
i.Resize(500,500);
map = new SquaredMap(i);
glWindow.Scene.RootObject.addChild( map );
ModelManager.instance.addSearchPath("./models");
DumpObject dobj = new DumpObject();
dobj.Model3D = ModelManager.instance.loadModel("alfa147",0.0254f);
Vector3 v3 = map.ground(new Vector2(40,40));
v3.Z *= 2;
dobj.Position = v3;
glWindow.Scene.RootObject.addChild( dobj );
}
public void run(){
glWindow.MakeCurrent();
glWindow.Run(25,25);
}
}
}