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); }
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)"); }
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)"); }
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)"); }
/// <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); }
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)"); }
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)"); }
/// <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; }
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()); }