public void Tick(SceneGame scene)
        {
            var tile = Curio.GetMainTile();

            if (MoveFrame.Done)
            {
                MoveFrame = new Slider(MoveFrame.Time - MoveFrame.EndTime, MoveFrame.EndTime);
                var camera = Curio.GetCamera();

                var offset   = Direction.ToTileOffset();
                var neighbor = tile.GetNeighborOrNull(offset.X, offset.Y);
                if (neighbor == null)
                {
                    //Out of bounds
                    Curio.Destroy();
                }
                else
                {
                    Curio.MoveTo(neighbor, MoveLerp, MoveFrame);
                    camera?.MoveTo(neighbor, LerpHelper.Linear, MoveFrame);
                }
            }

            if (LifeTime.Done)
            {
                //Fizzle
                Curio.Destroy();
            }

            LifeTime  += scene.TimeModCurrent;
            MoveFrame += scene.TimeModCurrent;
        }