public void RunLoop()
        {
            var timeSlicePerUpdateMSec = m_Config.TimeSlicePerUpdateMSec;
            var timer           = new Stopwatch();
            var elapsedTimeMSec = 0L;

            var veldridWindow = new VeldridWindow();

            veldridWindow.Open("Simple Chat Client");
            veldridWindow.AddImguiRenderer(new LoginWindow());
            ClientGui.I.Initialize(veldridWindow);

            timer.Start();

            while (true)
            {
                var currentElapsedTime = timer.ElapsedMilliseconds;
                var deltaTimeMSec      = currentElapsedTime - elapsedTimeMSec;
                elapsedTimeMSec = currentElapsedTime;

                ClientJobManager.I.Update().Wait();

                if (veldridWindow.IsWindowExist)
                {
                    veldridWindow.Update((int)deltaTimeMSec);
                }
                else
                {
                    break;
                }

                var updateConsumedTime = timer.ElapsedMilliseconds - elapsedTimeMSec;
                var sleepTime          = timeSlicePerUpdateMSec - updateConsumedTime;
                if (sleepTime > 0)
                {
                    Thread.Sleep((int)sleepTime);
                }
            }
            ClientGui.I.Destroy();
        }
Beispiel #2
0
 public ServerGui()
 {
     VeldridWindow = new VeldridWindow();
 }
Beispiel #3
0
 public void Initialize(VeldridWindow window)
 {
     m_VeldridWindow = window;
 }