public AttachMent ChangeAttach(AttachMountType type, PrimitiveVisual visual, string mount, TransformData trans = null)
    {
        if (type >= AttachMountType.AttachCount)
        {
            return(null);
        }
        AttachMent attach = mAttachMents[(uint)type];

        if (attach != null && attach.visual == visual)
        {
            return(attach);
        }

        if (attach != null && attach.visual != null)
        {
            attach.visual.Destroy();
        }

        attach                   = new AttachMent();
        attach.visual            = visual;
        attach.socketname        = mount;
        attach.transform         = trans;
        mAttachMents[(uint)type] = attach;
        return(attach);
    }
        /// <summary>
        /// The method to create the PrimitiveVisual - the properties for a given
        /// primitive are set in the switch-case block, properties common for
        /// all primitives are set outside the block (except MixColor property,
        /// which is set for some primitives individually)
        /// </summary>
        /// <param name="primitiveName"> Then name of the PrimitiveVisual </param>
        /// <returns> The created PrimitiveVisual </returns>
        private PrimitiveVisual CreatePrimitiveVisual(string primitiveName)
        {
            PrimitiveVisual ThisPrimitiveVisual = new PrimitiveVisual();

            ThisPrimitiveVisual.MixColor      = new Color(0.6f, 0.4f, 1.0f, 1.0f);
            ThisPrimitiveVisual.LightPosition = new Vector3(0.0f, 0.0f, 300.0f);
            ThisPrimitiveVisual.Slices        = 100;
            ThisPrimitiveVisual.Stacks        = 100;

            switch (primitiveName)
            {
            case "Sphere":
                ThisPrimitiveVisual.Shape = PrimitiveVisualShapeType.Sphere;
                break;

            case "ConicalFrustum":
                ThisPrimitiveVisual.Shape             = PrimitiveVisualShapeType.ConicalFrustrum;
                ThisPrimitiveVisual.ScaleHeight       = 2.0f;
                ThisPrimitiveVisual.ScaleTopRadius    = 0.3f;
                ThisPrimitiveVisual.ScaleBottomRadius = 1.0f;
                ThisPrimitiveVisual.MixColor          = Color.Green;
                break;

            case "Cone":
                ThisPrimitiveVisual.Shape             = PrimitiveVisualShapeType.Cone;
                ThisPrimitiveVisual.ScaleHeight       = 2.0f;
                ThisPrimitiveVisual.ScaleBottomRadius = 1.0f;
                ThisPrimitiveVisual.MixColor          = new Color(0.4f, 0.4f, 1.0f, 1.0f);
                break;

            case "Cylinder":
                ThisPrimitiveVisual.Shape       = PrimitiveVisualShapeType.Cylinder;
                ThisPrimitiveVisual.ScaleHeight = 1.0f;
                ThisPrimitiveVisual.ScaleRadius = 0.5f;
                break;

            case "Cube":
                ThisPrimitiveVisual.Shape           = PrimitiveVisualShapeType.Cube;
                ThisPrimitiveVisual.ScaleDimensions = new Vector3(1.0f, 0.4f, 0.8f);
                ThisPrimitiveVisual.MixColor        = new Color(0.4f, 0.4f, 1.0f, 1.0f);
                break;

            case "Octahedron":
                ThisPrimitiveVisual.Shape           = PrimitiveVisualShapeType.Octahedron;
                ThisPrimitiveVisual.ScaleDimensions = new Vector3(1.0f, 0.7f, 1.0f);
                ThisPrimitiveVisual.MixColor        = Color.Green;
                break;

            case "BeveledCube":
                ThisPrimitiveVisual.Shape           = PrimitiveVisualShapeType.BevelledCube;
                ThisPrimitiveVisual.ScaleDimensions = new Vector3(0.0f, 0.5f, 1.1f);
                ThisPrimitiveVisual.BevelPercentage = 0.3f;
                ThisPrimitiveVisual.BevelSmoothness = 0.0f;
                break;
            }

            return(ThisPrimitiveVisual);
        }
Esempio n. 3
0
        public void PrimitiveVisualConstructor()
        {
            tlog.Debug(tag, $"PrimitiveVisualConstructor START");

            var testingTarget = new PrimitiveVisual();

            Assert.IsNotNull(testingTarget, "Can't create success object PrimitiveVisualMap");
            Assert.IsInstanceOf <PrimitiveVisual>(testingTarget, "Should be an instance of PrimitiveVisualMap type.");

            testingTarget.Dispose();
            tlog.Debug(tag, $"PrimitiveVisualConstructor END (OK)");
        }
Esempio n. 4
0
        public void PrimitiveVisualShape()
        {
            tlog.Debug(tag, $"PrimitiveVisualShape START");

            var testingTarget = new PrimitiveVisual();

            Assert.IsNotNull(testingTarget, "Can't create success object PrimitiveVisualMap");
            Assert.IsInstanceOf <PrimitiveVisual>(testingTarget, "Should be an instance of PrimitiveVisualMap type.");

            testingTarget.Shape = PrimitiveVisualShapeType.BevelledCube;
            Assert.AreEqual(PrimitiveVisualShapeType.BevelledCube, testingTarget.Shape, "Retrieved Shape should be equal to set value");

            testingTarget.Dispose();
            tlog.Debug(tag, $"PrimitiveVisualShape END (OK)");
        }
Esempio n. 5
0
        public void PrimitiveVisualBevelSmoothness()
        {
            tlog.Debug(tag, $"PrimitiveVisualBevelSmoothness START");

            var testingTarget = new PrimitiveVisual();

            Assert.IsNotNull(testingTarget, "Can't create success object PrimitiveVisualMap");
            Assert.IsInstanceOf <PrimitiveVisual>(testingTarget, "Should be an instance of PrimitiveVisualMap type.");

            testingTarget.BevelSmoothness = 1.0f;
            Assert.AreEqual(1.0f, testingTarget.BevelSmoothness, "Retrieved BevelSmoothness should be equal to set value");

            testingTarget.Dispose();
            tlog.Debug(tag, $"PrimitiveVisualBevelSmoothness END (OK)");
        }
Esempio n. 6
0
    /// <summary>
    /// 挂接一个显示对象
    /// </summary>
    protected AttachMent AttachVisual(PrimitiveVisual visual, string socketname, TransformData trans)
    {
        AttachMent attach = new AttachMent();

        attach.socketname = socketname;
        attach.transform  = trans;
        attach.visual     = visual;

        Transform bone = mVisual.GetBoneByName(attach.socketname);

        if (bone == null)
        {
            bone = mVisual.VisualTransform;
        }
        DressingRoom.AttachObjectTo(bone, attach.visual.VisualTransform, attach.transform);
        // BehaviourUtil.StartCoroutine(WaitForAttachComplete(attach));

        return(attach);
    }
Esempio n. 7
0
        public void PrimitiveVisualMixColor()
        {
            tlog.Debug(tag, $"PrimitiveVisualMixColor START");

            var testingTarget = new PrimitiveVisual();

            Assert.IsNotNull(testingTarget, "Can't create success object PrimitiveVisualMap");
            Assert.IsInstanceOf <PrimitiveVisual>(testingTarget, "Should be an instance of PrimitiveVisualMap type.");

            Color color = new Color(1.0f, 1.0f, 1.0f, 1.0f);

            testingTarget.MixColor = color;
            Assert.AreEqual(1.0f, testingTarget.MixColor.R, "Retrieved MixColor.R should be equal to set value");
            Assert.AreEqual(1.0f, testingTarget.MixColor.G, "Retrieved MixColor.G should be equal to set value");
            Assert.AreEqual(1.0f, testingTarget.MixColor.B, "Retrieved MixColor.B should be equal to set value");
            Assert.AreEqual(1.0f, testingTarget.MixColor.A, "Retrieved MixColor.A should be equal to set value");

            testingTarget.Dispose();
            tlog.Debug(tag, $"PrimitiveVisualMixColor END (OK)");
        }
Esempio n. 8
0
        public void PrimitiveVisualLightPosition()
        {
            tlog.Debug(tag, $"PrimitiveVisualLightPosition START");

            var testingTarget = new PrimitiveVisual();

            Assert.IsNotNull(testingTarget, "Can't create success object PrimitiveVisualMap");
            Assert.IsInstanceOf <PrimitiveVisual>(testingTarget, "Should be an instance of PrimitiveVisualMap type.");

            using (Vector3 vector3 = new Vector3(1.0f, 1.0f, 1.0f))
            {
                testingTarget.LightPosition = vector3;
                Assert.AreEqual(1.0f, testingTarget.LightPosition.X, "Retrieved LightPosition.X should be equal to set value");
                Assert.AreEqual(1.0f, testingTarget.LightPosition.Y, "Retrieved LightPosition.Y should be equal to set value");
                Assert.AreEqual(1.0f, testingTarget.LightPosition.Z, "Retrieved LightPosition.Z should be equal to set value");
            }

            testingTarget.Dispose();
            tlog.Debug(tag, $"PrimitiveVisualLightPosition END (OK)");
        }
Esempio n. 9
0
    /// <summary>
    /// 更新挂接特效
    /// </summary>
    public void UpdateAttachParticle()
    {
        SceneParticleManager particlemng = SceneManager.Instance.GetCurScene().GetParticleManager();
        int nCount = mAttachParticles.Count;
        List <ParticleAttachMent> toDel = null;

        for (int i = 0; i < nCount; ++i)
        {
            ParticleAttachMent attach = mAttachParticles[i];
            ParticleItem       item   = particlemng.GetParticle(attach.particleid);

            if (attach == null || item == null || item.IsDead())
            {
                if (toDel == null)
                {
                    toDel = new List <ParticleAttachMent>();
                }
                toDel.Add(attach);
                continue;
            }
            //将特效更新到对应位置上
            if (attach.parent == null || item.parent == null)
            {
                PrimitiveVisual aVisual = null;
                if (attach.atype != AttachMountType.AttachCount)
                {
                    AttachMent buildinAttach = mAttachMents[(int)attach.atype];
                    if (buildinAttach != null)
                    {
                        aVisual = buildinAttach.visual;
                    }
                }
                else
                {
                    aVisual = mVisual;
                }
                if (aVisual != null && aVisual is MeshVisual && aVisual.Visual != null)
                {
                    Transform tr = null;
                    if (string.IsNullOrEmpty(attach.socketname))
                    {
                        tr = aVisual.VisualTransform;
                    }
                    else
                    {
                        tr = (aVisual as MeshVisual).GetBoneByName(attach.socketname);
                        if (tr == null)
                        {
                            tr = aVisual.VisualTransform;
                        }
                    }

                    attach.parent = tr.gameObject;


                    EffectTableItem effectitem = DataManager.EffectTable[attach.resid] as EffectTableItem;

                    //不跟随释放者的特效,取挂点的方向
                    if (effectitem.notFollow && tr != null && attach.transform != null)
                    {
                        if (tr != null)
                        {
                            attach.transform.Rot = tr.rotation.eulerAngles;
                        }
                        else
                        {
                            attach.transform.Rot = Vector3.zero;
                        }
                    }
                }

                if (attach.parent != null)
                {
                    if (item.visual != null && item.visual.Visual != null)
                    {
                        item.visual.Visual.SetActive(true);
                    }
                    DressingRoom.AttachParticleTo(item, attach.parent.transform);
                }
            }
        }

        if (toDel != null)
        {
            foreach (ParticleAttachMent at in toDel)
            {
                mAttachParticles.Remove(at);
            }
        }
    }
        /// <summary>
        /// Visual Sample Application initialisation.
        /// </summary>
        private void Initialize()
        {
            Window.Instance.BackgroundColor = Color.White;
            // Show Visuals Type.
            // There are 11 Visuals will be marked with text
            // Color visual will be used to _visualView's Background
            // TextVisual don't need use it.
            text = new TextLabel[11];

            // Create a visual view.
            // Make it fill to Window.
            // Visuals will put on it.
            _visualView = new VisualView();
            _visualView.PositionUsesPivotPoint = true;
            _visualView.ParentOrigin           = ParentOrigin.TopLeft;
            _visualView.PivotPoint             = PivotPoint.TopLeft;
            _visualView.Size2D = Window.Instance.Size;

            // color visual.
            // color.R/G/B/A range 0 - 1(contain 0 and 1)
            // Renders a color to the visual's quad geometry.
            ColorVisual colorVisual = new ColorVisual();

            colorVisual.Color      = new Color(0.8f, 0.8f, 0.8f, 1.0f);
            _visualView.Background = colorVisual.OutputVisualMap;
            Window.Instance.GetDefaultLayer().Add(_visualView);

            // Create the text mark normal image visual.
            text[0] = CreateTextLabel("normal image visual", new Position2D(20, 20));
            Window.Instance.GetDefaultLayer().Add(text[0]);
            // normal image visual.
            // Renders a raster image ( jpg, png etc.) into the visual's quad geometry.
            ImageVisual imageVisual = new ImageVisual();

            imageVisual.URL            = image_jpg;
            imageVisual.Size           = new Size2D(200, 200);
            imageVisual.Position       = new Vector2(20.0f, 120.0f);
            imageVisual.PositionPolicy = VisualTransformPolicyType.Absolute;
            imageVisual.SizePolicy     = VisualTransformPolicyType.Absolute;
            imageVisual.Origin         = Visual.AlignType.TopBegin;
            imageVisual.AnchorPoint    = Visual.AlignType.TopBegin;
            _visualView.AddVisual("imageVisual", imageVisual);

            // Create the text mark normal image visual.
            text[1] = CreateTextLabel("svg image visual", new Position2D(340, 20));
            Window.Instance.GetDefaultLayer().Add(text[1]);
            // svg image visual.
            // Renders a svg image into the visual's quad geometry
            _svgVisuallView        = new VisualView();
            _svgVisuallView.Size2D = new Vector2(200, 200);
            _svgVisuallView.PositionUsesPivotPoint = true;
            _svgVisuallView.ParentOrigin           = ParentOrigin.TopLeft;
            _svgVisuallView.PivotPoint             = PivotPoint.TopLeft;
            _svgVisuallView.Position = new Position(340, 120, 0);
            Window.Instance.GetDefaultLayer().Add(_svgVisuallView);
            SVGVisual svgVisual = new SVGVisual();

            svgVisual.URL            = image_svg;
            svgVisual.Size           = new Vector2(200, 200);
            svgVisual.PositionPolicy = VisualTransformPolicyType.Absolute;
            svgVisual.SizePolicy     = VisualTransformPolicyType.Absolute;
            svgVisual.Origin         = Visual.AlignType.Center;
            svgVisual.AnchorPoint    = Visual.AlignType.TopBegin;
            _svgVisuallView.AddVisual("svgVisual", svgVisual);

            // Create the text mark npatch image visual.
            text[2] = CreateTextLabel("npatch image visual", new Position2D(680, 20));
            Window.Instance.GetDefaultLayer().Add(text[2]);
            // n patch image visual.
            // Renders an npatch or a 9patch image. Uses nonquad
            // geometry. Both geometry and texture are cached to
            // reduce memory consumption if the same npatch image
            // is used elsewhere.
            NPatchVisual nPatchVisual = new NPatchVisual();

            nPatchVisual.URL            = image_9patch;
            nPatchVisual.Size           = new Vector2(200, 200);
            nPatchVisual.Position       = new Vector2(680, 120);
            nPatchVisual.PositionPolicy = VisualTransformPolicyType.Absolute;
            nPatchVisual.SizePolicy     = VisualTransformPolicyType.Absolute;
            nPatchVisual.Origin         = Visual.AlignType.TopBegin;
            nPatchVisual.AnchorPoint    = Visual.AlignType.TopBegin;
            _visualView.AddVisual("nPatchVisual", nPatchVisual);

            // Create the text mark animated image visual.
            text[3] = CreateTextLabel("animated image visual", new Position2D(1000, 20));
            Window.Instance.GetDefaultLayer().Add(text[3]);
            // animated image visual.
            // Renders an animated image into the visual's quad geometry.
            // Currently, only the GIF format is supported.
            AnimatedImageVisual animatedImageVisual = new AnimatedImageVisual();

            animatedImageVisual.URL            = image_gif;
            animatedImageVisual.Size           = new Size2D(200, 200);
            animatedImageVisual.Position       = new Vector2(1000.0f, 120.0f);
            animatedImageVisual.PositionPolicy = VisualTransformPolicyType.Absolute;
            animatedImageVisual.SizePolicy     = VisualTransformPolicyType.Absolute;
            animatedImageVisual.Origin         = Visual.AlignType.TopBegin;
            animatedImageVisual.AnchorPoint    = Visual.AlignType.TopBegin;
            _visualView.AddVisual("animatedImageVisual", animatedImageVisual);

            // text visual.
            TextVisual textVisual = new TextVisual();

            textVisual.Text                = "This is a TextVisual";
            textVisual.PointSize           = 5.0f;
            textVisual.Size                = new Vector2(400.0f, 100.0f);
            textVisual.Position            = new Vector2(1150.0f, 60.0f);
            textVisual.PositionPolicy      = VisualTransformPolicyType.Absolute;
            textVisual.SizePolicy          = VisualTransformPolicyType.Absolute;
            textVisual.Origin              = Visual.AlignType.TopBegin;
            textVisual.AnchorPoint         = Visual.AlignType.TopBegin;
            textVisual.HorizontalAlignment = HorizontalAlignment.Center;
            _visualView.AddVisual("textVisual", textVisual);

            // Create the text mark border visual.
            text[4] = CreateTextLabel("border visual", new Position2D(20, 450));
            Window.Instance.GetDefaultLayer().Add(text[4]);
            // borderVisual
            // Renders a color as an internal border to the visual's geometry.
            BorderVisual borderVisual = new BorderVisual();

            borderVisual.Color          = Color.Red;
            borderVisual.BorderSize     = 5.0f;
            borderVisual.Size           = new Vector2(200.0f, 200.0f);
            borderVisual.Position       = new Vector2(20.0f, 550.0f);
            borderVisual.PositionPolicy = VisualTransformPolicyType.Absolute;
            borderVisual.SizePolicy     = VisualTransformPolicyType.Absolute;
            borderVisual.Origin         = Visual.AlignType.TopBegin;
            borderVisual.AnchorPoint    = Visual.AlignType.TopBegin;
            _visualView.AddVisual("borderVisual", borderVisual);

            // Create the text mark gradient visual.
            text[5] = CreateTextLabel("gradient visual", new Position2D(240, 450));
            Window.Instance.GetDefaultLayer().Add(text[5]);
            // gradient visual
            // Renders a smooth transition of colors to the visual's quad geometry.
            // Both Linear and Radial gradients are supported.
            GradientVisual gradientVisual = new GradientVisual();
            // Create the PropertyArray of stopOffset.
            PropertyArray stopOffset = new PropertyArray();

            stopOffset.Add(new PropertyValue(0.0f));
            stopOffset.Add(new PropertyValue(0.3f));
            stopOffset.Add(new PropertyValue(0.6f));
            stopOffset.Add(new PropertyValue(0.8f));
            stopOffset.Add(new PropertyValue(1.0f));
            gradientVisual.StopOffset = stopOffset;
            // Create the PropertyArray of stopColor.
            PropertyArray stopColor = new PropertyArray();

            stopColor.Add(new PropertyValue(new Vector4(129.0f, 198.0f, 193.0f, 255.0f) / 255.0f));
            stopColor.Add(new PropertyValue(new Vector4(196.0f, 198.0f, 71.0f, 122.0f) / 255.0f));
            stopColor.Add(new PropertyValue(new Vector4(214.0f, 37.0f, 139.0f, 191.0f) / 255.0f));
            stopColor.Add(new PropertyValue(new Vector4(129.0f, 198.0f, 193.0f, 150.0f) / 255.0f));
            stopColor.Add(new PropertyValue(Color.Yellow));
            // Set the color at the stop offsets.
            // At least 2 values required to show a gradient.
            gradientVisual.StopColor = stopColor;
            // Set the start position of a linear gradient.
            gradientVisual.StartPosition = new Vector2(0.5f, 0.5f);
            // Set the end position of a linear gradient.
            gradientVisual.EndPosition = new Vector2(-0.5f, -0.5f);
            // Set the center point of a radial gradient.
            gradientVisual.Center = new Vector2(0.5f, 0.5f);
            // Set the size of the radius of a radial gradient.
            gradientVisual.Radius         = 1.414f;
            gradientVisual.Size           = new Vector2(200.0f, 200.0f);
            gradientVisual.Position       = new Vector2(240.0f, 550.0f);
            gradientVisual.PositionPolicy = VisualTransformPolicyType.Absolute;
            gradientVisual.SizePolicy     = VisualTransformPolicyType.Absolute;
            gradientVisual.Origin         = Visual.AlignType.TopBegin;
            gradientVisual.AnchorPoint    = Visual.AlignType.TopBegin;
            _visualView.AddVisual("gradientVisual1", gradientVisual);

            // Create the text mark gradient visual.
            text[6] = CreateTextLabel("primitive visual: Cone", new Position2D(460, 450));
            Window.Instance.GetDefaultLayer().Add(text[6]);
            // primitive visual: Cone
            // Renders a simple 3D shape, such as a cube or sphere. Scaled to fit the control.
            // The shapes are generated with clockwise winding and backface culling on by default.
            // Cone : Equivalent to a conical frustrum with top radius of zero.
            PrimitiveVisual primitiveVisual1 = new PrimitiveVisual();

            primitiveVisual1.Shape           = PrimitiveVisualShapeType.Cone;
            primitiveVisual1.BevelPercentage = 0.3f;
            primitiveVisual1.BevelSmoothness = 0.0f;
            primitiveVisual1.ScaleDimensions = new Vector3(1.0f, 1.0f, 0.3f);
            primitiveVisual1.MixColor        = new Vector4((245.0f / 255.0f), (188.0f / 255.0f), (73.0f / 255.0f), 1.0f);
            primitiveVisual1.Size            = new Vector2(200.0f, 200.0f);
            primitiveVisual1.Position        = new Vector2(460.0f, 550.0f);
            primitiveVisual1.PositionPolicy  = VisualTransformPolicyType.Absolute;
            primitiveVisual1.SizePolicy      = VisualTransformPolicyType.Absolute;
            primitiveVisual1.Origin          = Visual.AlignType.TopBegin;
            primitiveVisual1.AnchorPoint     = Visual.AlignType.TopBegin;
            _visualView.AddVisual("primitiveVisual1", primitiveVisual1);

            // Create the text mark primitive visual: Sphere.
            text[7] = CreateTextLabel("primitive visual: Sphere", new Position2D(680, 450));
            Window.Instance.GetDefaultLayer().Add(text[7]);
            // primitive visual: Sphere
            // Sphere : Default.
            PrimitiveVisual primitiveVisual2 = new PrimitiveVisual();

            primitiveVisual2.Shape           = PrimitiveVisualShapeType.Sphere;
            primitiveVisual2.BevelPercentage = 0.3f;
            primitiveVisual2.BevelSmoothness = 0.0f;
            primitiveVisual2.ScaleDimensions = new Vector3(1.0f, 1.0f, 0.3f);
            primitiveVisual2.MixColor        = new Vector4((245.0f / 255.0f), (188.0f / 255.0f), (73.0f / 255.0f), 1.0f);
            primitiveVisual2.Size            = new Vector2(200.0f, 200.0f);
            primitiveVisual2.Position        = new Vector2(680.0f, 550.0f);
            primitiveVisual2.PositionPolicy  = VisualTransformPolicyType.Absolute;
            primitiveVisual2.SizePolicy      = VisualTransformPolicyType.Absolute;
            primitiveVisual2.Origin          = Visual.AlignType.TopBegin;
            primitiveVisual2.AnchorPoint     = Visual.AlignType.TopBegin;
            _visualView.AddVisual("primitiveVisual2", primitiveVisual2);

            // Create the text mark primitive visual: Cylinder.
            text[8] = CreateTextLabel("primitive visual: Cylinder", new Position2D(1000, 450));
            Window.Instance.GetDefaultLayer().Add(text[8]);
            // primitive visual: Cylinder
            // Cylinder : Equivalent to a conical frustrum with
            // equal radii for the top and bottom circles.
            PrimitiveVisual primitiveVisual3 = new PrimitiveVisual();

            primitiveVisual3.Shape           = PrimitiveVisualShapeType.Cylinder;
            primitiveVisual3.BevelPercentage = 0.3f;
            primitiveVisual3.BevelSmoothness = 0.0f;
            primitiveVisual3.ScaleDimensions = new Vector3(1.0f, 1.0f, 0.3f);
            primitiveVisual3.MixColor        = new Vector4((245.0f / 255.0f), (188.0f / 255.0f), (73.0f / 255.0f), 1.0f);
            primitiveVisual3.Size            = new Vector2(200.0f, 200.0f);
            primitiveVisual3.Position        = new Vector2(1000.0f, 550.0f);
            primitiveVisual3.PositionPolicy  = VisualTransformPolicyType.Absolute;
            primitiveVisual3.SizePolicy      = VisualTransformPolicyType.Absolute;
            primitiveVisual3.Origin          = Visual.AlignType.TopBegin;
            primitiveVisual3.AnchorPoint     = Visual.AlignType.TopBegin;
            _visualView.AddVisual("primitiveVisual3", primitiveVisual3);

            // Create the text mark primitive visual: ConicalFrustrum.
            text[9] = CreateTextLabel("primitive visual: ConicalFrustrum", new Position2D(1220, 450));
            Window.Instance.GetDefaultLayer().Add(text[9]);
            // primitive visual: ConicalFrustrum
            // ConicalFrustrum : The area bound between two circles,
            // i.e. a cone with the tip removed.
            PrimitiveVisual primitiveVisual4 = new PrimitiveVisual();

            primitiveVisual4.Shape           = PrimitiveVisualShapeType.ConicalFrustrum;
            primitiveVisual4.BevelPercentage = 0.3f;
            primitiveVisual4.BevelSmoothness = 0.0f;
            primitiveVisual4.ScaleDimensions = new Vector3(1.0f, 1.0f, 0.3f);
            primitiveVisual4.MixColor        = new Vector4((245.0f / 255.0f), (188.0f / 255.0f), (73.0f / 255.0f), 1.0f);
            primitiveVisual4.Size            = new Vector2(200.0f, 200.0f);
            primitiveVisual4.Position        = new Vector2(1220.0f, 550.0f);
            primitiveVisual4.PositionPolicy  = VisualTransformPolicyType.Absolute;
            primitiveVisual4.SizePolicy      = VisualTransformPolicyType.Absolute;
            primitiveVisual4.Origin          = Visual.AlignType.TopBegin;
            primitiveVisual4.AnchorPoint     = Visual.AlignType.TopBegin;
            _visualView.AddVisual("primitiveVisual4", primitiveVisual4);

            // Create the text mark primitive visual: ConicalFrustrum.
            text[10] = CreateTextLabel("primitive visual: Cube", new Position2D(1460, 450));
            Window.Instance.GetDefaultLayer().Add(text[10]);
            // primitive visual: Cube
            // Cube : Equivalent to a bevelled cube with a
            // bevel percentage of zero.
            PrimitiveVisual primitiveVisual5 = new PrimitiveVisual();

            primitiveVisual5.Shape           = PrimitiveVisualShapeType.Cube;
            primitiveVisual5.BevelPercentage = 0.3f;
            primitiveVisual5.BevelSmoothness = 0.0f;
            primitiveVisual5.ScaleDimensions = new Vector3(1.0f, 1.0f, 0.3f);
            primitiveVisual5.MixColor        = new Vector4((245.0f / 255.0f), (188.0f / 255.0f), (73.0f / 255.0f), 1.0f);
            primitiveVisual5.Size            = new Vector2(200.0f, 200.0f);
            primitiveVisual5.Position        = new Vector2(1460.0f, 550.0f);
            primitiveVisual5.PositionPolicy  = VisualTransformPolicyType.Absolute;
            primitiveVisual5.SizePolicy      = VisualTransformPolicyType.Absolute;
            primitiveVisual5.Origin          = Visual.AlignType.TopBegin;
            primitiveVisual5.AnchorPoint     = Visual.AlignType.TopBegin;
            _visualView.AddVisual("primitiveVisual5", primitiveVisual5);

            Window.Instance.KeyEvent += AppBack;
        }
Esempio n. 11
0
        public void Initialize()
        {
            Window window = Window.Instance;

            /* Create a visual view. */
            _visualView = new VisualView();
            _visualView.ParentOrigin = ParentOrigin.TopLeft;
            _visualView.PivotPoint   = PivotPoint.TopLeft;
            _visualView.Size2D       = new Size2D((int)window.Size.Width, (int)window.Size.Height);

            /* color visual */
            ColorVisual colorVisualMap1 = new ColorVisual();

            colorVisualMap1.Color  = Color.Green;
            _visualView.Background = colorVisualMap1.OutputVisualMap;

            window.Add(_visualView);

            /* image visual 1. */
            imageVisualMap1                = new ImageVisual();
            imageVisualMap1.URL            = resources + "/images/image-1.jpg";
            imageVisualMap1.Size           = new Vector2(200.0f, 200.0f);
            imageVisualMap1.Position       = new Vector2(10.0f, 10.0f);
            imageVisualMap1.PositionPolicy = VisualTransformPolicyType.Absolute;
            Console.WriteLine("PositionPolicy:{0}", imageVisualMap1.PositionPolicy);
            imageVisualMap1.SizePolicy = VisualTransformPolicyType.Absolute;
            Console.WriteLine("SizePolicy:{0}", imageVisualMap1.SizePolicy);
            imageVisualMap1.Origin      = Visual.AlignType.TopBegin;
            imageVisualMap1.AnchorPoint = Visual.AlignType.TopBegin;
            _visualView.AddVisual("imageVisual1", imageVisualMap1);
            imageVisualMap1.URL = resources + "/images/image-3.jpg";

            /* image visual 2. */
            ImageVisual imageVisualMap2 = new ImageVisual();

            imageVisualMap2.URL            = resources + "/images/image-2.jpg";
            imageVisualMap2.Size           = new Vector2(250.0f, 200.0f);
            imageVisualMap2.Position       = new Vector2(220.0f, 10.0f);
            imageVisualMap2.PositionPolicy = VisualTransformPolicyType.Absolute;
            imageVisualMap2.SizePolicy     = VisualTransformPolicyType.Absolute;
            imageVisualMap2.Origin         = Visual.AlignType.TopBegin;
            imageVisualMap2.AnchorPoint    = Visual.AlignType.TopBegin;
            _visualView.AddVisual("imageVisual2", imageVisualMap2);

            /* text visual. */
            textVisualMap1           = new TextVisual();
            textVisualMap1.Text      = "Hello Goodbye";
            textVisualMap1.PointSize = 20.0f;

            textVisualMap1.Size           = new Vector2(900.0f, 250.0f);
            textVisualMap1.Position       = new Vector2(10.0f, 220.0f);
            textVisualMap1.PositionPolicy = VisualTransformPolicyType.Absolute;
            textVisualMap1.SizePolicy     = VisualTransformPolicyType.Absolute;
            textVisualMap1.Origin         = Visual.AlignType.TopBegin;
            textVisualMap1.AnchorPoint    = Visual.AlignType.TopBegin;
            _visualView.AddVisual("textVisual1", textVisualMap1);

            /* border visual */
            borderVisualMap1            = new BorderVisual();
            borderVisualMap1.Color      = Color.Red;
            borderVisualMap1.BorderSize = 5.0f;

            borderVisualMap1.Size           = new Vector2(100.0f, 100.0f);
            borderVisualMap1.Position       = new Vector2(10.0f, 380.0f);
            borderVisualMap1.PositionPolicy = VisualTransformPolicyType.Absolute;
            borderVisualMap1.SizePolicy     = VisualTransformPolicyType.Absolute;
            borderVisualMap1.Origin         = Visual.AlignType.TopBegin;
            borderVisualMap1.AnchorPoint    = Visual.AlignType.TopBegin;
            _visualView.AddVisual("borderVisual1", borderVisualMap1);

            /* gradient visual */
            GradientVisual gradientVisualMap1 = new GradientVisual();
            PropertyArray  stopPosition       = new PropertyArray();

            stopPosition.Add(new PropertyValue(0.0f));
            stopPosition.Add(new PropertyValue(0.3f));
            stopPosition.Add(new PropertyValue(0.6f));
            stopPosition.Add(new PropertyValue(0.8f));
            stopPosition.Add(new PropertyValue(1.0f));
            gradientVisualMap1.StopOffset = stopPosition;
            PropertyArray stopColor = new PropertyArray();

            stopColor.Add(new PropertyValue(new Vector4(129.0f, 198.0f, 193.0f, 255.0f) / 255.0f));
            stopColor.Add(new PropertyValue(new Vector4(196.0f, 198.0f, 71.0f, 122.0f) / 255.0f));
            stopColor.Add(new PropertyValue(new Vector4(214.0f, 37.0f, 139.0f, 191.0f) / 255.0f));
            stopColor.Add(new PropertyValue(new Vector4(129.0f, 198.0f, 193.0f, 150.0f) / 255.0f));
            stopColor.Add(new PropertyValue(Color.Yellow));
            gradientVisualMap1.StopColor     = stopColor;
            gradientVisualMap1.StartPosition = new Vector2(0.5f, 0.5f);
            gradientVisualMap1.EndPosition   = new Vector2(-0.5f, -0.5f);
            gradientVisualMap1.Center        = new Vector2(0.5f, 0.5f);
            gradientVisualMap1.Radius        = 1.414f;

            gradientVisualMap1.Size           = new Vector2(100.0f, 100.0f);
            gradientVisualMap1.Position       = new Vector2(120.0f, 380.0f);
            gradientVisualMap1.PositionPolicy = VisualTransformPolicyType.Absolute;
            gradientVisualMap1.SizePolicy     = VisualTransformPolicyType.Absolute;
            gradientVisualMap1.Origin         = Visual.AlignType.TopBegin;
            gradientVisualMap1.AnchorPoint    = Visual.AlignType.TopBegin;
            _visualView.AddVisual("gradientVisual1", gradientVisualMap1);

            /* primitive visual: Cone */
            PrimitiveVisual primitiveVisualMap1 = new PrimitiveVisual();

            primitiveVisualMap1.Shape           = PrimitiveVisualShapeType.Cone;
            primitiveVisualMap1.BevelPercentage = 0.3f;
            primitiveVisualMap1.BevelSmoothness = 0.0f;
            primitiveVisualMap1.ScaleDimensions = new Vector3(1.0f, 1.0f, 0.3f);
            primitiveVisualMap1.MixColor        = new Vector4((245.0f / 255.0f), (188.0f / 255.0f), (73.0f / 255.0f), 1.0f);

            primitiveVisualMap1.Size           = new Vector2(100.0f, 100.0f);
            primitiveVisualMap1.Position       = new Vector2(230.0f, 380.0f);
            primitiveVisualMap1.PositionPolicy = VisualTransformPolicyType.Absolute;
            primitiveVisualMap1.SizePolicy     = VisualTransformPolicyType.Absolute;
            primitiveVisualMap1.Origin         = Visual.AlignType.TopBegin;
            primitiveVisualMap1.AnchorPoint    = Visual.AlignType.TopBegin;
            _visualView.AddVisual("primitiveVisual1", primitiveVisualMap1);

            /* primitive visual: Sphere */
            PrimitiveVisual primitiveVisualMap2 = new PrimitiveVisual();

            primitiveVisualMap2.Shape           = PrimitiveVisualShapeType.Sphere;
            primitiveVisualMap2.BevelPercentage = 0.3f;
            primitiveVisualMap2.BevelSmoothness = 0.0f;
            primitiveVisualMap2.ScaleDimensions = new Vector3(1.0f, 1.0f, 0.3f);
            primitiveVisualMap2.MixColor        = new Vector4((245.0f / 255.0f), (188.0f / 255.0f), (73.0f / 255.0f), 1.0f);

            primitiveVisualMap2.Size           = new Vector2(100.0f, 100.0f);
            primitiveVisualMap2.Position       = new Vector2(340.0f, 380.0f);
            primitiveVisualMap2.PositionPolicy = VisualTransformPolicyType.Absolute;
            primitiveVisualMap2.SizePolicy     = VisualTransformPolicyType.Absolute;
            primitiveVisualMap2.Origin         = Visual.AlignType.TopBegin;
            primitiveVisualMap2.AnchorPoint    = Visual.AlignType.TopBegin;
            _visualView.AddVisual("primitiveVisual2", primitiveVisualMap2);

            /* primitive visual: Cylinder */
            PrimitiveVisual primitiveVisualMap3 = new PrimitiveVisual();

            primitiveVisualMap3.Shape           = PrimitiveVisualShapeType.Cylinder;
            primitiveVisualMap3.BevelPercentage = 0.3f;
            primitiveVisualMap3.BevelSmoothness = 0.0f;
            primitiveVisualMap3.ScaleDimensions = new Vector3(1.0f, 1.0f, 0.3f);
            primitiveVisualMap3.MixColor        = new Vector4((245.0f / 255.0f), (188.0f / 255.0f), (73.0f / 255.0f), 1.0f);

            primitiveVisualMap3.Size           = new Vector2(100.0f, 100.0f);
            primitiveVisualMap3.Position       = new Vector2(10.0f, 490.0f);
            primitiveVisualMap3.PositionPolicy = VisualTransformPolicyType.Absolute;
            primitiveVisualMap3.SizePolicy     = VisualTransformPolicyType.Absolute;
            primitiveVisualMap3.Origin         = Visual.AlignType.TopBegin;
            primitiveVisualMap3.AnchorPoint    = Visual.AlignType.TopBegin;
            _visualView.AddVisual("primitiveVisual3", primitiveVisualMap3);

            /* primitive visual: ConicalFrustrum */
            PrimitiveVisual primitiveVisualMap4 = new PrimitiveVisual();

            primitiveVisualMap4.Shape           = PrimitiveVisualShapeType.ConicalFrustrum;
            primitiveVisualMap4.BevelPercentage = 0.3f;
            primitiveVisualMap4.BevelSmoothness = 0.0f;
            primitiveVisualMap4.ScaleDimensions = new Vector3(1.0f, 1.0f, 0.3f);
            primitiveVisualMap4.MixColor        = new Vector4((245.0f / 255.0f), (188.0f / 255.0f), (73.0f / 255.0f), 1.0f);

            primitiveVisualMap4.Size           = new Vector2(100.0f, 100.0f);
            primitiveVisualMap4.Position       = new Vector2(120.0f, 490.0f);
            primitiveVisualMap4.PositionPolicy = VisualTransformPolicyType.Absolute;
            primitiveVisualMap4.SizePolicy     = VisualTransformPolicyType.Absolute;
            primitiveVisualMap4.Origin         = Visual.AlignType.TopBegin;
            primitiveVisualMap4.AnchorPoint    = Visual.AlignType.TopBegin;
            _visualView.AddVisual("primitiveVisual4", primitiveVisualMap4);

            /* primitive visual: Cube */
            PrimitiveVisual primitiveVisualMap5 = new PrimitiveVisual();

            primitiveVisualMap5.Shape           = PrimitiveVisualShapeType.Cube;
            primitiveVisualMap5.BevelPercentage = 0.3f;
            primitiveVisualMap5.BevelSmoothness = 0.0f;
            primitiveVisualMap5.ScaleDimensions = new Vector3(1.0f, 1.0f, 0.3f);
            primitiveVisualMap5.MixColor        = new Vector4((245.0f / 255.0f), (188.0f / 255.0f), (73.0f / 255.0f), 1.0f);

            primitiveVisualMap5.Size           = new Vector2(100.0f, 100.0f);
            primitiveVisualMap5.Position       = new Vector2(230.0f, 490.0f);
            primitiveVisualMap5.PositionPolicy = VisualTransformPolicyType.Absolute;
            primitiveVisualMap5.SizePolicy     = VisualTransformPolicyType.Absolute;
            primitiveVisualMap5.Origin         = Visual.AlignType.TopBegin;
            primitiveVisualMap5.AnchorPoint    = Visual.AlignType.TopBegin;
            _visualView.AddVisual("primitiveVisual5", primitiveVisualMap5);

            /* mesh visual nothing show. */
            MeshVisual meshVisualMap1 = new MeshVisual();

            meshVisualMap1.ObjectURL    = resources + "/models/Dino.obj";
            meshVisualMap1.MaterialtURL = resources + "/models/Dino.mtl";
            meshVisualMap1.TexturesPath = resources + "/images/";
            meshVisualMap1.ShadingMode  = MeshVisualShadingModeValue.TexturedWithSpecularLighting;

            meshVisualMap1.Size           = new Size2D(400, 400);
            meshVisualMap1.Position       = new Position2D(-50, 600);
            meshVisualMap1.PositionPolicy = VisualTransformPolicyType.Absolute;
            meshVisualMap1.SizePolicy     = VisualTransformPolicyType.Absolute;
            meshVisualMap1.Origin         = Visual.AlignType.TopBegin;
            meshVisualMap1.AnchorPoint    = Visual.AlignType.TopBegin;
            _visualView.AddVisual("meshVisual1", meshVisualMap1);

            /* n-patch image visual 1. */
            npatchImageVisualMap1                  = new NPatchVisual();
            npatchImageVisualMap1.URL              = resources + "/images/gallery-4.jpg";
            npatchImageVisualMap1.Size             = new Size2D(400, 400);
            npatchImageVisualMap1.Position         = new Position2D(300, 600);
            npatchImageVisualMap1.PositionPolicyX  = VisualTransformPolicyType.Absolute;
            npatchImageVisualMap1.PositionPolicyY  = VisualTransformPolicyType.Absolute;
            npatchImageVisualMap1.SizePolicyWidth  = VisualTransformPolicyType.Absolute;
            npatchImageVisualMap1.SizePolicyHeight = VisualTransformPolicyType.Absolute;
            npatchImageVisualMap1.Origin           = Visual.AlignType.TopBegin;
            npatchImageVisualMap1.AnchorPoint      = Visual.AlignType.TopBegin;
            npatchImageVisualMap1.Border           = new Rectangle(100, 100, 100, 100);
            _visualView.AddVisual("npatchImageVisual1", npatchImageVisualMap1);

            _window = Window.Instance;
            _window.FocusChanged += (sender, ee) =>
            {
                cnt++;
                Tizen.Log.Debug("NUI", "[WindowFocusTest] WindowFocusChanged event comes! focus gained=" + ee.FocusGained);
                imageVisualMap1.Size     += new Size2D(50, 50);
                imageVisualMap1.Position += new Vector2(20.0f, 20.0f);

                textVisualMap1.Text      = "Hello Goodbye" + cnt;
                textVisualMap1.PointSize = 10.0f + (float)(cnt);

                npatchImageVisualMap1.URL = resources + "/images/gallery-" + (cnt % 5) + ".jpg";

                borderVisualMap1.BorderSize = 1.0f + (float)cnt;
            };

            Tizen.Log.Debug("NUI", "[WindowFocusTest] is focus acceptable=" + _window.IsFocusAcceptable());
            _window.SetAcceptFocus(false);
            Tizen.Log.Debug("NUI", "[WindowFocusTest] set focus acceptable=false!!!");
            Tizen.Log.Debug("NUI", "[WindowFocusTest] is focus acceptable=" + _window.IsFocusAcceptable());
            _window.SetAcceptFocus(true);
            Tizen.Log.Debug("NUI", "[WindowFocusTest] set focus acceptable=true!!!");
            Tizen.Log.Debug("NUI", "[WindowFocusTest] is focus acceptable=" + _window.IsFocusAcceptable());
        }