Exemple #1
0
 /// <summary>
 /// Registers a callback for converting a <see cref="Water"/>s to <see cref="OmegaEngine.Graphics.Renderables.Water"/> representations.
 /// </summary>
 private void RegisterWater()
 {
     RenderablesSync.Register <Water, OmegaEngine.Graphics.Renderables.Water>(
         element =>
     {
         var representation = new OmegaEngine.Graphics.Renderables.Water(Engine, new SizeF(element.Size.X, element.Size.Y))
         {
             Name = element.Name,
             // NOTE: Height must be set before child views are initialized
             Position = Terrain.Position + new DoubleVector3(0, element.Height, 0)
         };
         representation.SetupChildViews(View);
         return(representation);
     },
         (element, representation) => representation.Position = Terrain.Position + element.EnginePosition);
 }
        /// <inheritdoc/>
        protected override void RegisterRenderablesSync()
        {
            base.RegisterRenderablesSync();

            RenderablesSync.Register(
                (Waypoint waypoint) => new Model(XMesh.Get(Engine, "Engine/Waypoint.x"))
            {
                Scale = new Vector3(100)
            },
                UpdateRepresentation);
            RenderablesSync.Register(
                (Trigger trigger) =>
            {
                var area      = Model.Cylinder(Engine, XTexture.Get(Engine, "flag.png"), radiusBottom: trigger.Range, radiusTop: trigger.Range, length: 150);
                area.Rotation = Quaternion.RotationYawPitchRoll(0, (float)Math.PI / 2, 0);
                area.Alpha    = 160;
                return(area);
            },
                UpdateRepresentation);
        }