Esempio n. 1
0
        private bool ExecuteTick()
        {
            float TotalFrameDeltaTime = GameThreadTickManager.ExecuteSingleTick();

            FPS = (1 / TotalFrameDeltaTime) * 1000;

            return(Running);
        }
Esempio n. 2
0
        public void Run()
        {
            //TODO: Render Thread this
            Renderer.CreateRenderer();

            Renderer.CreateWindow();

            Running = true;
            GameThreadTickManager.Init();
            while (ExecuteTick())
            {
            }
        }
Esempio n. 3
0
        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");
        }
Esempio n. 4
0
 protected internal void RemoveTickfunc(TickFunction TickFunc)
 {
     GameThreadTickManager.RemoveTick(TickFunc);
 }
Esempio n. 5
0
 protected internal void AddTickfunc(TickFunction TickFunc)
 {
     GameThreadTickManager.AddTick(TickFunc);
 }