For various reasons development is slow but we are closing in on a final release. Not sure if any of this has been shown in the past but I will post anyway. Some examples of test projects created in the new .NET:
namespace _3D_Objects
{
public class Application
{
/// <summary>
/// This is our main Game Loop. This subroutine is used for processing our
/// game events and processes during the lifetime of the application. The
/// subroutine will loop until LoopGDK returns false.
/// </summary>
/// <remarks></remarks>
public static void GameLoop()
{
DarkGDK.Basic3D.Object3D colonel;
DarkGDK.Core.Print("Please wait, Loading model...");
DarkGDK.Core.Sync();
DarkGDK.Core.Sync();
DarkGDK.IO.File.SetCurrentDirectory("../../Media");
colonel = new DarkGDK.Basic3D.Object3D("Colonel-X.X");
DarkGDK.Camera.DefaultCamera.PitchUp(10);
colonel.LoopAnimation();
colonel.AnimationSpeed = 40;
while (DarkGDK.Engine.LoopGDK)
{
DarkGDK.Core.Sync();
}
}
}
}
and
namespace Game_Level
{
public class Application
{
/// <summary>
/// This is our main Game Loop. This subroutine is used for processing our
/// game events and processes during the lifetime of the application. The
/// subroutine will loop until LoopGDK returns false.
/// </summary>
/// <remarks></remarks>
public static void GameLoop()
{
float fCameraAngleX = 0.0F;
float fCameraAngleY = 0.0F;
DarkGDK.Basic3D.Object3D universe;
DarkGDK.Basic3D.Object3D skybox;
DarkGDK.Camera.DefaultCamera camera = new DarkGDK.Camera.DefaultCamera();
DarkGDK.Text.ShowText(0, 0, "Please wait... Loading Game Level");
DarkGDK.Core.Sync();
DarkGDK.Core.Sync();
DarkGDK.IO.File.SetCurrentDirectory("../../Media");
universe = new DarkGDK.Basic3D.Object3D("universe.dbo");
universe.AffectedByAnyLights = false;
skybox = new DarkGDK.Basic3D.Object3D("skybox2.x");
skybox.AffectedByAnyLights = false;
skybox.Scale(5000, 5000, 5000);
camera.PositionMe(434, 42, - 517);
// Force the window to take focus
DarkGDK.Display.WindowToFront();
DarkGDK.IO.Mouse.Hide();
//
// Loop continuously until StopGDKLoop is called, or the ESC key is pressed.
//
while (DarkGDK.Engine.LoopGDK)
{
camera.ControlUsingArrowKeys(2, 5);
fCameraAngleX = DarkGDK.Core.WrapValue(fCameraAngleX + (System.Convert.ToSingle(DarkGDK.IO.Mouse.MoveY))* 0.4F);
fCameraAngleY = DarkGDK.Core.WrapValue(fCameraAngleY + (System.Convert.ToSingle(DarkGDK.IO.Mouse.MoveX)) * 0.4F);
camera.AngleX = fCameraAngleX;
camera.AngleY = fCameraAngleY;
// Tell DarkGDK.NET to render our default camera display
DarkGDK.Core.Sync();
}
}
}
}