Beispiel #1
0
 public void Draw <TSurface, TSource>(ScreenRenderer <TSurface, TSource> screenRenderer)
 {
     if (ResolutionChanged)
     {
         screenRenderer.UpdateLayers(RenderingUnit);
         ResolutionChanged = false;
     }
     RenderingUnit.Draw(screenRenderer);
 }
    private void CreateUICam()
    {
        m_objUICam       = new GameObject();
        m_objUICam.name  = "UICamera";
        m_objUICam.layer = GameLayer.UI;
        m_objUICam.transform.SetParent(m_transRootCanvas, false);
        m_camUICam = m_objUICam.AddComponent <Camera>();
        m_camUICam.orthographic            = true;
        m_compRootCanvas.renderMode        = RenderMode.ScreenSpaceCamera;
        m_compRootCanvas.worldCamera       = m_camUICam;
        m_objUICam.transform.localPosition = new Vector3(0.0f, 0.0f, -150.0f);
        m_camUICam.farClipPlane            = 300.0f;
        m_camUICam.cullingMask             = 1 << GameLayer.UI;
        m_camUICam.clearFlags = CameraClearFlags.Depth;
        RenderingUnit unit = new RenderingUnit("UINode", m_camUICam);

        RenderingMgr.Instance.AddCrucialUnitAtLast("UINode", unit);
    }
Beispiel #3
0
        protected override void Render(string[] sourcePathList, IDevice outDevice)
        {
            var units = new RenderingUnit[sourcePathList.Length];

            try
            {
                for (int i = 0; i < sourcePathList.Length; i++)
                {
                    units[i] = new RenderingUnit(sourcePathList[i], CssTheme);
                }
                using (HtmlRenderer renderer = new HtmlRenderer())
                {
                    renderer.Render(outDevice, units.Select(x => x.Document).ToArray());
                }
            }
            catch (Exception e)
            {
                throw e;
            }
            finally
            {
                units.ForEach(x => x?.Dispose());
            }
        }