Ejemplo n.º 1
0
        public void RootTouchbarToXmlAsStringNotNull()
        {
            //Arrange
            var space   = new SpecialElement(SpecialElement.Space.Small);
            var segRoot = new SegmentedControl("4")
            {
                Seperated = true
            };
            var seg1 = new SegmentElement("seg1", "a,b,c", "Segment BT 1");

            segRoot.ChildElements.Add(seg1);

            var scroll = new ScrollViewControl("X");

            scroll.ChildElements.Add(new ButtonElement("s1", "1,2,3", "Scroll BT1", CustomIcons.GoToIcon));
            scroll.ChildElements.Add(new ButtonElement("s2", "ctrl+f", "Scroll BT2")
            {
                Width = 80, BackgroundColor = "ff0000"
            });
            scroll.ChildElements.Add(new ButtonElement("s3", "ctrl+f", "Scroll BT3")
            {
                Width = 120
            });
            scroll.ChildElements.Add(new ButtonElement("s4", "ctrl+f", "Scroll BT4")
            {
                Width = 80
            });

            var pop = new PopoverControl("Y", "Pop Items", CustomIcons.SurroundIcon);

            pop.ChildElements.Add(new ButtonElement("p2", "ctrl+f", "Pop BT1")
            {
                Width = 80
            });
            pop.PressAndHoldChildElements.Add(new ButtonElement("p1", "1,2,3", "PopHold BT1", CustomIcons.FormatDocIcon));
            var button3 = new ButtonElement("p3", "alt+f1", "PopHold BT2");

            pop.PressAndHoldChildElements.Add(button3);

            var root = new RootTouchbar();

            root.Elements.Add(new ButtonElement("r1", "1,2,3", "Button1", SystemStandardIcons.Play));
            root.Elements.Add(space);
            root.Elements.Add(new ButtonElement("r2", "ctrl+f", "Button2")
            {
                Width = 80
            });
            root.Elements.Add(segRoot);
            root.Elements.Add(scroll);
            root.Elements.Add(pop);

            //Act
            var doc = root.ToXmlAsString();

            //Assert
            Assert.IsNotNull(doc);

            Debug.Write(doc);
        }
Ejemplo n.º 2
0
    public TerrainChunk(Vector2 coord, HeightMapSettings heightMapSettings, MeshSettings meshSettings, LODInfo[] detailLevels, int colliderLODIndex, Transform parent, Transform viewer, Material material, bool anotherWorld, TerrainType[] arrayOfTerrainTypes)
    {
        this.isInAnotherWorld  = anotherWorld;
        this.coord             = coord;
        this.detailLevels      = detailLevels;
        this.colliderLODIndex  = colliderLODIndex;
        this.heightMapSettings = heightMapSettings;
        this.meshSettings      = meshSettings;
        this.viewer            = viewer;
        this.terrainType       = arrayOfTerrainTypes[Random.Range(0, arrayOfTerrainTypes.Length)];
        this.chunkType         = this.terrainType.chunkType;

        int chunRandomizer = Random.Range(0, 50);

        sampleCentre = coord * meshSettings.meshWorldSize / meshSettings.meshScale;
        Vector2 position = coord * meshSettings.meshWorldSize;

        bounds = new Bounds(position, Vector2.one * meshSettings.meshWorldSize);


        meshObject = new GameObject("Terrain Chunk");
        this.meshObject.transform.tag = "Terrain";
        meshRenderer = meshObject.AddComponent <MeshRenderer>();
        meshFilter   = meshObject.AddComponent <MeshFilter>();

        meshCollider          = meshObject.AddComponent <MeshCollider>();
        meshRenderer.material = material;

        meshObject.transform.position = new Vector3(position.x, 0, position.y);
        meshObject.transform.parent   = parent;


        SetVisible(false);

        lodMeshes = new LODMesh[detailLevels.Length];

        for (int i = 0; i < detailLevels.Length; i++)
        {
            lodMeshes[i] = new LODMesh(detailLevels[i].lod);
            lodMeshes[i].updateCallback += UpdateTerrainChunk;


            if (i == colliderLODIndex)
            {
                lodMeshes[i].updateCallback += UpdateCollisionMesh;
                lodMeshes[i].updateCallback += UpdateMeshData;
            }
        }

        maxViewDst = detailLevels[detailLevels.Length - 1].visibleDstThreshold;
        this.meshObject.isStatic = true;
    }
Ejemplo n.º 3
0
        public void RootTouchbarToXmlNotNull()
        {
            //Arrange
            var button1 = new ButtonElement("1", "1,2,3", "Button1", "ABCDEF");
            var flex    = new SpecialElement(SpecialElement.Space.Flexible);
            var button2 = new ButtonElement("2", "ctrl+f", "Button2")
            {
                Width = 80
            };
            var root = new RootTouchbar();

            root.Elements.Add(button1);
            root.Elements.Add(flex);
            root.Elements.Add(button2);

            //Act
            var doc = root.ToXml();

            //Assert
            Assert.IsNotNull(doc);
        }
Ejemplo n.º 4
0
 public virtual void WriteSpecialElement(SpecialElement s)
 {
     WriteTag(s.StartTag); WriteToken(s.ValueToken); if (s.EndTag != null) WriteTag(s.EndTag);
 }
Ejemplo n.º 5
0
        public virtual bool ParseSpecialElement(SpecialElement s)
        {
            s.Clear();

            if (ParseTag(s.StartTag) && (s.StartTag.IsSpecialElement || s.StartTag.FullName == "_error")) {
                if (!s.StartTag.IsSingleTag) {
                    s.ValueToken.Read();
                    if (CurrentToken.Class == TokenClass.EndTagStart) {
                        if (ParseEndTag(s.EndTag) && s.EndTag.IsEndTag) {
                            if (s.EndTag.FullName != s.StartTag.FullName) { Error("{0}: end tag {1} does not match script start tag.", s.GetType().Name, s.EndTag.FullName); s.EndTag.FullName = s.StartTag.FullName; }
                            return true;
                        } else {
                            Error("{0}: script end tag expected.", s.GetType().Name, s.StartTag.FullName);
                            s.EndTag.IsEndTag = true;
                            s.EndTag.FullName = s.Name;
                        }
                    } else {
                        Error("{0}: script end tag expected.", s.GetType().Name, s.StartTag.FullName);
                        s.EndTag.IsEndTag = true;
                        s.EndTag.FullName = s.Name;
                    }
                } else {
                    s.ValueToken.Start = s.ValueToken.End = s.StartTag.EndToken.End; s.ValueToken.Value = string.Empty;
                    s.EndTag = null;
                    return true;
                }
            }
            return false;
        }
Ejemplo n.º 6
0
 public virtual void ImportSpecialElement(SpecialElement s)
 {
     ImportTag(s.StartTag); ImportToken(s.ValueToken); if (s.EndTag != null) ImportTag(s.EndTag);
 }