Esempio n. 1
0
        private void InitBackgroundMesh()
        {
            if (BackgroundMesh != null)
            {
                BackgroundMesh.Dispose();
            }

            DynamicMesh backgroundBuilder = surface.CreateMesh();

            backgroundBuilder.Projection = Mesh.ProjectionType.Pixel;

            double offset        = 0.0;
            bool   isAlternative = false;

            for (int threadIndex = 0; threadIndex < Rows.Count; ++threadIndex)
            {
                ThreadRow row = Rows[threadIndex];
                if (!row.IsVisible)
                {
                    continue;
                }

                backgroundBuilder.AddRect(new Rect(0.0, offset, Scroll.Width, row.Height), isAlternative ? OptickAlternativeBackground.Color : OptickBackground.Color);
                isAlternative = !isAlternative;

                offset += row.Height;
            }

            BackgroundMesh = backgroundBuilder.Freeze(surface.RenderDevice);
        }
Esempio n. 2
0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        protected void Build(GameObject pParent)
        {
            vParent = pParent;

            Background = new GameObject("Background");
            Background.transform.SetParent(pParent.transform, false);
            Background.AddComponent <MeshRenderer>();
            BackgroundMesh = Background.AddComponent <MeshFilter>().mesh;
            BackgroundMesh.MarkDynamic();

            Edge = new GameObject("Edge");
            Edge.transform.SetParent(pParent.transform, false);
            Edge.AddComponent <MeshRenderer>();
            EdgeMesh = Edge.AddComponent <MeshFilter>().mesh;
            EdgeMesh.MarkDynamic();

            Highlight = new GameObject("Highlight");
            Highlight.transform.SetParent(pParent.transform, false);
            Highlight.AddComponent <MeshRenderer>();
            HighlightMesh = Highlight.AddComponent <MeshFilter>().mesh;
            HighlightMesh.MarkDynamic();

            Select = new GameObject("Select");
            Select.transform.SetParent(pParent.transform, false);
            Select.AddComponent <MeshRenderer>();
            SelectMesh = Select.AddComponent <MeshFilter>().mesh;
            SelectMesh.MarkDynamic();

            BackgroundColor = Color.clear;
            EdgeColor       = Color.clear;
            SelectColor     = Color.clear;
            HighlightColor  = Color.clear;

            UpdateAfterResize();
        }