Beispiel #1
0
        protected void OnStartRenderLoop(RSResponse resp)
        {
            if (resp.IsErrorResponse)
            {
                Logger.Log("error", "Error starting render loop: " + resp.ErrorMessage);
                Status("error", "Error starting render loop");

                return;
            }

            Status("info", "Waiting for first render");

            RenderLoopRunning        = true;
            NextRenderTimer          = new Timer();
            NextRenderTimer.Interval = RenderLoopInterval;
            NextRenderTimer.Elapsed += new ElapsedEventHandler((object source, ElapsedEventArgs e) => {
                GetNextRenderLoopRender();
            });

            if (RenderLoopTimeout > 100)
            {
                PollResultTimer          = new Timer();
                PollResultTimer.Interval = RenderLoopTimeout * 1000 / 3;
                PollResultTimer.Elapsed += new ElapsedEventHandler((object source, ElapsedEventArgs e) => {
                    GetPollResult();
                });
                PollResultTimer.Start();
            }

            RestartLoop();
        }
Beispiel #2
0
        protected void OnRender(RSResponse resp)
        {
            if (resp.IsErrorResponse)
            {
                return;
            }

            DisplayRender = true;
        }
    public override void DispatchResponse(RSResponse response, ref RSQuery query)
    {
        switch (response.ResponseType)
        {
        case RSResponseType.Say:
            Debug.Log("saying " + response.ResponseValue);
            break;

        case RSResponseType.Log:
            Debug.Log(response.ResponseValue);
            break;

        default:
            Debug.Log(response.ResponseType + " - " + response.ResponseValue);
            break;
        }
    }
Beispiel #4
0
        protected void OnStartRenderLoop(RSResponse resp)
        {
            if (resp.IsErrorResponse)
            {
                Logger.Log("error", "Error starting render loop: " + resp.ErrorMessage);
                Status("error", "Error starting render loop");

                return;
            }

            Status("info", "Waiting for first render");

            RenderLoopRunning = true;

            UpdatePollResult = true;

            RestartLoop();
        }
Beispiel #5
0
        protected void OnGetRenderLoopRender(RSResponse resp)
        {
            if (Scene.IsShutdown)
            {
                return;
            }

            // Ignore these renders.
            if (LastRenderTime > NextRenderTime && OnRender != null &&
                (bool)((Hashtable)resp.ServerResponse)["valid"] == true)
            {
                OnRender(resp);
            }

            if (resp.IsErrorResponse)
            {
                if (ReceivedFirstRender)
                {
                    Logger.Log("error", "Error getting render loop render.");
                    Status("error", "Error retrieving render");
                    UpdateNextRender = false;
                }
                UpdateNextRender = true;
                return;
            }

            LastRenderResultCounter++;
            if (LastRenderResultCounter > 5)
            {
                LastRenderResultCounter = 0;
                GetLastRenderResult();
            }

            if (!ReceivedFirstRender)
            {
                Status("render", "");
            }
            ReceivedFirstRender = true;

            if (!IsConverged)
            {
                UpdateNextRender = true;
            }
        }
Beispiel #6
0
        protected void OnGetRenderLoopRender(RSResponse resp)
        {
            if (Scene.IsShutdown)
            {
                return;
            }

            // Ignore these renders.
            if (LastRenderTime > NextRenderTime && OnRender != null)
            {
                OnRender(resp);
            }

            if (resp.IsErrorResponse)
            {
                if (ReceivedFirstRender)
                {
                    Logger.Log("error", "Error getting render loop render.");
                    Status("error", "Error retrieving render");
                    NextRenderTimer.Stop();
                }
                NextRenderTimer.Start();
                return;
            }

            LastRenderResultCounter++;
            if (LastRenderResultCounter > 5)
            {
                LastRenderResultCounter = 0;
                GetLastRenderResult();
            }

            if (!ReceivedFirstRender)
            {
                Status("render", "");
            }
            ReceivedFirstRender = true;

            if (!IsConverged)
            {
                NextRenderTimer.Start();
            }
        }