예제 #1
0
        /// <summary>
        /// The drag entity.
        /// </summary>
        /// <param name="projectionMatrix">
        /// The projection matrix.
        /// </param>
        /// <param name="viewMatrix">
        /// The view matrix.
        /// </param>
        /// <param name="terrain">
        /// The terrain.
        /// </param>
        public static void DragEntity(GraphicsDevice device, Matrix projectionMatrix, Matrix viewMatrix, ITerrain terrain)
        {
            if (!HasPicked())
            {
                return;
            }

            Vector3 position = RayCaster.GetTerrainPoint(device, projectionMatrix, viewMatrix, terrain);

            EntityPicked.Position = position;
        }
예제 #2
0
        /// <summary>
        /// The pick entity.
        /// </summary>
        /// <param name="projectionMatrix">
        /// The projection matrix.
        /// </param>
        /// <param name="viewMatrix">
        /// The view matrix.
        /// </param>
        /// <param name="entities">
        /// The entities.
        /// </param>
        public static void PickEntity(
            GraphicsDevice device,
            Matrix projectionMatrix,
            Matrix viewMatrix,
            IEnumerable <IEntity> entities)
        {
            if (HasPicked())
            {
                PlaceEntity();
            }

            EntityPicked = RayCaster.CastToEntities(device, projectionMatrix, viewMatrix, entities);

            if (HasPicked())
            {
                EntityPicked.IsHighlighted = true;
            }
        }
예제 #3
0
        public static void SelectEntity(
            GraphicsDevice device,
            Matrix projectionMatrix,
            Matrix viewMatrix,
            IEnumerable <IEntity> entities)
        {
            if (HasSelected())
            {
                EntitySelected.IsHighlighted = false;
            }

            EntitySelected = RayCaster.CastToEntities(device, projectionMatrix, viewMatrix, entities);

            if (HasSelected())
            {
                EntitySelected.IsHighlighted = true;
            }
        }