public void Init() { ConfigureLogger(); Logger.Info("Starting Up Watertight Engine! Game {0}, Version {1}", Name, Version); //Init the Filesystem System.Runtime.CompilerServices.RuntimeHelpers.RunClassConstructor(typeof(FileSystem).TypeHandle); //TODO: Configure Engine from a config file TickFunction EngineTick = new TickFunction { TickFunc = Tick, TickPriority = TickFunction.HighPriority, CanTick = true, }; GameThreadTickManager.AddTick(EngineTick); Renderer = (Renderer)Activator.CreateInstance(RendererType); //TODO: Thread This. For now, we just tick it GameThreadTickManager.AddTick(Renderer.RenderTickFunction); MaxFPS = 250; foreach (ResourcePtr resourcePtr in PreloadResources) { Logger.Info("Preloading Asset: {0}", resourcePtr.ToString()); resourcePtr.Load(); } OnInit(); Logger.Info("Finished Loading Engine. Ready to Begin"); }
protected internal void AddTickfunc(TickFunction TickFunc) { GameThreadTickManager.AddTick(TickFunc); }