/// <summary>
        /// Transition to SelectingTerrain state.
        /// </summary>
        /// <param name="context">The grid coordinate to edit.</param>
        public override void TransitionIn(object context)
        {
            var args = context as TerrainClickedArgs;

            if (args == null)
            {
                GameLogger.FatalError("EditingTerrainController was given incorrect context.");
            }

            _editingGridLocation = args.ClickLocation;

            _cursor.Activate();
            _cursor.Place(_editingGridLocation.x, _editingGridLocation.z);

            _mouseDragStartY       = Input.mousePosition.y;
            _mouseDragHeightChange = 0;
        }
 /// <summary>
 /// Transition to SelectingTerrain state.
 /// </summary>
 /// <param name="context">Not used.</param>
 public override void TransitionIn(object context)
 {
     _cursor.Activate();
     _cursor.Place(_cursor.Position.x, _cursor.Position.y);
 }