110 lines
No EOL
3.1 KiB
C#
110 lines
No EOL
3.1 KiB
C#
using StereoKit;
|
|
using StereoKit.Framework;
|
|
|
|
|
|
namespace snake;
|
|
|
|
class Program
|
|
{
|
|
static void Main(string[] args)
|
|
{
|
|
SK.AddStepper<PassthroughFBExt>();
|
|
|
|
// Initialize StereoKit
|
|
SKSettings settings = new SKSettings
|
|
{
|
|
appName = "snake",
|
|
assetsFolder = "Assets",
|
|
blendPreference = DisplayBlend.AnyTransparent,
|
|
// overlayApp = true,
|
|
// overlayPriority = 1,
|
|
depthMode = DepthMode.D32,
|
|
disableFlatscreenMRSim = true,
|
|
renderScaling = 2,
|
|
renderMultisample = 0,
|
|
};
|
|
|
|
if (!SK.Initialize(settings))
|
|
return;
|
|
|
|
Renderer.Scaling = 2;
|
|
World.OcclusionEnabled = true;
|
|
Device.DisplayBlend = DisplayBlend.AnyTransparent;
|
|
Renderer.EnableSky = false;
|
|
Renderer.ClearColor = new Color(0.0f, 0.0f, 0.0f, 0.0f);
|
|
|
|
Rig.Init();
|
|
Mono.Init();
|
|
VFX.Init();
|
|
Arts.Init();
|
|
|
|
VCam.Init();
|
|
|
|
// Core application loop
|
|
SK.Run(() =>
|
|
{
|
|
Rig.Frame();
|
|
Mono.Frame();
|
|
|
|
// stepper
|
|
// if (Time.Total > 3.0) return; // buffer app loading [!] relace with user prompt to start (spawn box in hand or something)
|
|
|
|
if (!Mono.menu)
|
|
{
|
|
Mono.game_time += Time.Step;
|
|
if (Mono.intro)
|
|
{
|
|
Mono.step_time = Maths.min(Mono.step_time + Time.Step, Mono.step_step);
|
|
Mono.step_t = Maths.u_clamp(Maths.min(Mono.step_time, Mono.step_step) / Mono.step_step);
|
|
if (Rig.btn_select.delta == +1)
|
|
{
|
|
Mono.step_time = 0.0;
|
|
Mono.step_t = 0.0;
|
|
|
|
Mono.Step();
|
|
Arts.Step();
|
|
|
|
if (Mono.grow_buffer > 0)
|
|
{
|
|
Mono.intro = false;
|
|
}
|
|
}
|
|
|
|
if (Rig.btn_select.state)
|
|
{
|
|
Mono.intro_skip += Time.Step;
|
|
if (Mono.intro_skip >= 1.0)
|
|
{
|
|
Mono.intro = false;
|
|
}
|
|
}
|
|
|
|
if (Rig.btn_select.delta == -1)
|
|
{
|
|
Mono.intro_skip = 0.0;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Mono.step_time = Maths.min(Mono.step_time + Time.Step, Mono.step_step);
|
|
Mono.step_t = Maths.u_clamp(Maths.min(Mono.step_time, Mono.step_step) / Mono.step_step);
|
|
if (Mono.step_time >= Mono.step_step)
|
|
{
|
|
Mono.step_time -= Mono.step_step;
|
|
Mono.step_t = 0.0;
|
|
|
|
|
|
Mono.Step();
|
|
Arts.Step();
|
|
}
|
|
}
|
|
|
|
VFX.Frame();
|
|
}
|
|
|
|
Arts.Frame();
|
|
|
|
VCam.Frame();
|
|
});
|
|
}
|
|
} |