コード例 #1
0
            protected override void Draw(DrawingHandleBase handle, OverlaySpace currentSpace)
            {
                var map = _owner.eyeManager.CurrentMap;

                var            worldHandle   = (DrawingHandleWorld)handle;
                ShaderInstance?currentShader = null;
                var            player        = _playerManager.LocalPlayer?.ControlledEntity;

                foreach (var effect in _owner._Effects)
                {
                    if (effect.AttachedEntity?.Transform.MapID != player?.Transform.MapID &&
                        _mapManager.GetGrid(effect.Coordinates.GetGridId(_entityManager)).ParentMapId != map)
                    {
                        continue;
                    }

                    var newShader = effect.Shaded ? null : _unshadedShader;

                    if (newShader != currentShader)
                    {
                        worldHandle.UseShader(newShader);
                        currentShader = newShader;
                    }

                    var effectSprite = effect.EffectSprite;
                    var effectOrigin = effect.AttachedEntity?.Transform.MapPosition.Position + effect.AttachedOffset ??
                                       effect.Coordinates.ToMapPos(_entityManager);

                    var effectArea = Box2.CenteredAround(effectOrigin, effect.Size);

                    var rotatedBox = new Box2Rotated(effectArea, effect.Rotation, effectOrigin);

                    worldHandle.DrawTextureRect(effectSprite, rotatedBox, ToColor(effect.Color));
                }
            }
コード例 #2
0
            protected override void Draw(DrawingHandleBase handle, OverlaySpace currentSpace)
            {
                var map = _owner.eyeManager.CurrentMap;

                var            worldHandle   = (DrawingHandleWorld)handle;
                ShaderInstance?currentShader = null;

                foreach (var effect in _owner._Effects)
                {
                    if (_mapManager.GetGrid(effect.Coordinates.GridID).ParentMapId != map)
                    {
                        continue;
                    }

                    var newShader = effect.Shaded ? null : _unshadedShader;

                    if (newShader != currentShader)
                    {
                        worldHandle.UseShader(newShader);
                        currentShader = newShader;
                    }

                    var effectSprite = effect.EffectSprite;
                    var effectOrigin = effect.Coordinates.ToMapPos(_mapManager);
                    var effectArea   = Box2.CenteredAround(effectOrigin, effect.Size);

                    var rotatedBox = new Box2Rotated(effectArea, effect.Rotation, effectOrigin);

                    worldHandle.DrawTextureRect(effectSprite, rotatedBox, ToColor(effect.Color));
                }
            }
コード例 #3
0
        protected override void Draw(DrawingHandleBase handle)
        {
            if (Modes == 0)
            {
                return;
            }

            var screenHandle = (DrawingHandleScreen)handle;

            if ((Modes & PathfindingDebugMode.Route) != 0)
            {
                DrawAStarRoutes(screenHandle);
                DrawJpsRoutes(screenHandle);
            }

            if ((Modes & PathfindingDebugMode.Nodes) != 0)
            {
                DrawAStarNodes(screenHandle);
                DrawJpsNodes(screenHandle);
            }

            if ((Modes & PathfindingDebugMode.Graph) != 0)
            {
                DrawGraph(screenHandle);
            }
        }
コード例 #4
0
        protected override void Draw(DrawingHandleBase handle, OverlaySpace currentSpace)
        {
            if (_parallaxTexture == null)
            {
                return;
            }

            handle.UseShader(_shader);
            var screenHandle = (DrawingHandleScreen)handle;

            var(sizeX, sizeY) = _parallaxTexture.Size;
            var(posX, posY)   = _eyeManager.ScreenToMap(Vector2.Zero).Position;
            var(ox, oy)       = (Vector2i) new Vector2(-posX / Slowness, posY / Slowness);
            ox = MathHelper.Mod(ox, sizeX);
            oy = MathHelper.Mod(oy, sizeY);

            var(screenSizeX, screenSizeY) = _displayManager.ScreenSize;
            for (var x = -sizeX; x < screenSizeX; x += sizeX)
            {
                for (var y = -sizeY; y < screenSizeY; y += sizeY)
                {
                    screenHandle.DrawTexture(_parallaxTexture, new Vector2(ox + x, oy + y));
                }
            }
        }
コード例 #5
0
            protected override void Draw(DrawingHandleBase handle)
            {
                var map = _owner.eyeManager.CurrentMap;

                var            worldHandle   = (DrawingHandleWorld)handle;
                ShaderInstance currentShader = null;

                foreach (var effect in _owner._Effects)
                {
                    if (_mapManager.GetGrid(effect.Coordinates.GridID).ParentMapId != map)
                    {
                        continue;
                    }

                    var newShader = effect.Shaded ? null : _unshadedShader;

                    if (newShader != currentShader)
                    {
                        worldHandle.UseShader(newShader);
                        currentShader = newShader;
                    }

                    worldHandle.SetTransform(
                        effect.Coordinates.ToWorld(_mapManager).Position,
                        new Angle(-effect.Rotation), effect.Size);
                    var effectSprite = effect.EffectSprite;
                    worldHandle.DrawTexture(effectSprite,
                                            -((Vector2)effectSprite.Size / EyeManager.PIXELSPERMETER) / 2, ToColor(effect.Color));
                }
            }
コード例 #6
0
        protected override void Draw(DrawingHandleBase handle, OverlaySpace overlay)
        {
            var drawHandle = (DrawingHandleWorld)handle;

            var mapId = _eyeManager.CurrentMap;
            var eye   = _eyeManager.CurrentEye;

            var worldBounds = Box2.CenteredAround(eye.Position.Position,
                                                  _clyde.ScreenSize / (float)EyeManager.PixelsPerMeter * eye.Zoom);

            foreach (var mapGrid in _mapManager.FindGridsIntersecting(mapId, worldBounds))
            {
                if (!_gasTileOverlaySystem.HasData(mapGrid.Index))
                {
                    continue;
                }

                var gridBounds = new Box2(mapGrid.WorldToLocal(worldBounds.BottomLeft), mapGrid.WorldToLocal(worldBounds.TopRight));

                foreach (var tile in mapGrid.GetTilesIntersecting(gridBounds))
                {
                    foreach (var(texture, color) in _gasTileOverlaySystem.GetOverlays(mapGrid.Index, tile.GridIndices))
                    {
                        drawHandle.DrawTexture(texture, mapGrid.LocalToWorld(new Vector2(tile.X, tile.Y)), color);
                    }
                }
            }
        }
コード例 #7
0
        protected override void Draw(DrawingHandleBase handle)
        {
            var worldHandle = (DrawingHandleWorld)handle;
            var viewport    = _eyeManager.GetWorldViewport();

            worldHandle.DrawRect(viewport, Color.White);
        }
コード例 #8
0
        protected override void Draw(DrawingHandleBase handle, OverlaySpace currentSpace)
        {
            handle.UseShader(_shader);
            var worldHandle = (DrawingHandleWorld)handle;
            var viewport    = _eyeManager.GetWorldViewport();

            worldHandle.DrawRect(viewport, Color.White);
        }
コード例 #9
0
 protected override void Draw(DrawingHandleBase handle, OverlaySpace currentSpace)
 {
     switch (currentSpace)
     {
     case OverlaySpace.ScreenSpace:
         DrawScreen((DrawingHandleScreen)handle);
         break;
     }
 }
コード例 #10
0
 protected override void Draw(DrawingHandleBase handle, OverlaySpace currentSpace)
 {
     foreach (var ray in _owner.raysWithLifeTime)
     {
         handle.DrawLine(
             ray.RayOrigin,
             ray.RayHit,
             ray.DidActuallyHit ? Color.Yellow : Color.Magenta);
     }
 }
コード例 #11
0
        protected override void Draw(DrawingHandleBase handle, OverlaySpace currentSpace)
        {
            if (!CritOverlay.LocalPlayerHasState(_playerManager, false, true))
            {
                return;
            }
            handle.UseShader(_shader);
            var worldHandle = (DrawingHandleWorld)handle;
            var viewport    = _eyeManager.GetWorldViewport();

            worldHandle.DrawRect(viewport, Color.White);
        }
コード例 #12
0
            protected override void Draw(DrawingHandleBase handle)
            {
                var screenHandle = (DrawingHandleScreen)handle;

                var mousePos = IoCManager.Resolve <IInputManager>().MouseScreenPosition;

                if (_system.UseOrAttackIsDown && _system._timeHeld > AttackTimeThreshold)
                {
                    var tex = ResC.GetTexture($"/Textures/Objects/Tools/toolbox_r.png");

                    screenHandle.DrawTextureRect(tex, UIBox2.FromDimensions(mousePos, tex.Size * 2));
                }
            }
コード例 #13
0
        protected override void Draw(DrawingHandleBase handle)
        {
            var percentComplete = (float)((_gameTiming.CurTime.TotalMilliseconds - _startTime) / lastsFor);

            Shader?.SetParameter("percentComplete", percentComplete);

            var screenSpaceHandle = handle as DrawingHandleScreen;
            var screenSize        = UIBox2.FromDimensions((0, 0), _displayManager.ScreenSize);

            if (_screenshotTexture != null)
            {
                screenSpaceHandle?.DrawTextureRect(_screenshotTexture, screenSize);
            }
        }
コード例 #14
0
        protected override void Draw(DrawingHandleBase handle)
        {
            var elapsedTime = (_timer.CurTime - StartTime).TotalSeconds;

            if (elapsedTime > Duration)
            {
                return;
            }
            var screenHandle = (DrawingHandleScreen)handle;

            screenHandle.DrawRect(
                new UIBox2(0.0f, 0.0f, _displayManager.ScreenSize.X, _displayManager.ScreenSize.Y),
                Color.White.WithAlpha(GetAlpha(elapsedTime / Duration))
                );
        }
コード例 #15
0
        protected override void Draw(DrawingHandleBase handle, OverlaySpace currentSpace)
        {
            var percentComplete = (float)((_gameTiming.CurTime.TotalSeconds - _startTime) / _lastsFor);

            if (percentComplete >= 1.0f)
            {
                return;
            }
            handle.UseShader(_shader);
            _shader?.SetParameter("percentComplete", percentComplete);

            var screenSpaceHandle = handle as DrawingHandleScreen;
            var screenSize        = UIBox2.FromDimensions((0, 0), _displayManager.ScreenSize);

            if (_screenshotTexture != null)
            {
                screenSpaceHandle?.DrawTextureRect(_screenshotTexture, screenSize);
            }
        }
コード例 #16
0
        protected override void Draw(DrawingHandleBase handle, OverlaySpace currentSpace)
        {
            handle.UseShader(_shader);
            var worldHandle = (DrawingHandleWorld)handle;
            var viewport    = _eyeManager.GetWorldViewport();

            foreach (var boundingBox in _componentManager.EntityQuery <IPhysicsComponent>(true))
            {
                // all entities have a TransformComponent
                var transform = ((IComponent)boundingBox).Owner.Transform;

                // if not on the same map, continue
                if (transform.MapID != _eyeManager.CurrentMap || !transform.IsMapTransform)
                {
                    continue;
                }

                // This entity isn't lerping, no need to draw debug info for it
                if (transform.LerpDestination == null)
                {
                    continue;
                }

                var aabb = ((IPhysBody)boundingBox).AABB;

                // if not on screen, or too small, continue
                if (!aabb.Translated(transform.WorldPosition).Intersects(viewport) || aabb.IsEmpty())
                {
                    continue;
                }

                var timing = IoCManager.Resolve <IGameTiming>();
                timing.InSimulation = true;

                var boxOffset   = transform.LerpDestination.Value - transform.LocalPosition;
                var boxPosWorld = transform.WorldPosition + boxOffset;

                timing.InSimulation = false;

                worldHandle.DrawLine(transform.WorldPosition, boxPosWorld, Color.Yellow);
                worldHandle.DrawRect(aabb.Translated(boxPosWorld), Color.Yellow.WithAlpha(0.5f), false);
            }
        }
コード例 #17
0
        protected override void Draw(DrawingHandleBase handle)
        {
            if (_parallaxTexture == null)
            {
                return;
            }

            var screenHandle = (DrawingHandleScreen)handle;

            var(sizeX, sizeY) = _parallaxTexture.Size;
            var(posX, posY)   = _eyeManager.ScreenToWorld(Vector2.Zero).ToWorld(_mapManager).Position;
            var(ox, oy)       = (Vector2i) new Vector2(-posX / Slowness, posY / Slowness);
            ox = MathHelper.Mod(ox, sizeX);
            oy = MathHelper.Mod(oy, sizeY);

            screenHandle.DrawTexture(_parallaxTexture, new Vector2(ox, oy));
            screenHandle.DrawTexture(_parallaxTexture, new Vector2(ox - sizeX, oy));
            screenHandle.DrawTexture(_parallaxTexture, new Vector2(ox, oy - sizeY));
            screenHandle.DrawTexture(_parallaxTexture, new Vector2(ox - sizeX, oy - sizeY));
        }
コード例 #18
0
        protected override void Draw(DrawingHandleBase handle, OverlaySpace currentSpace)
        {
            SingularityQuery();

            foreach (SingularityShaderInstance instance in _singularities.Values)
            {
                var tempCoords = _eyeManager.WorldToScreen(instance.CurrentMapCoords);
                tempCoords.Y = _displayManager.ScreenSize.Y - tempCoords.Y;
                _shader?.SetParameter("positionInput", tempCoords);
                if (ScreenTexture != null)
                {
                    _shader?.SetParameter("SCREEN_TEXTURE", ScreenTexture);
                }
                _shader?.SetParameter("intensity", LevelToIntensity(instance.Level));
                _shader?.SetParameter("falloff", LevelToFalloff(instance.Level));

                handle.UseShader(_shader);
                var worldHandle = (DrawingHandleWorld)handle;
                var viewport    = _eyeManager.GetWorldViewport();
                worldHandle.DrawRect(viewport, Color.White);
            }
        }
コード例 #19
0
        protected override void Draw(DrawingHandleBase handle, OverlaySpace currentSpace)
        {
            if (Modes == 0)
            {
                return;
            }

            handle.UseShader(_shader);
            var screenHandle = (DrawingHandleScreen)handle;
            var viewport     = _eyeManager.GetWorldViewport();

            if ((Modes & PathfindingDebugMode.Route) != 0)
            {
                DrawAStarRoutes(screenHandle, viewport);
                DrawJpsRoutes(screenHandle, viewport);
            }

            if ((Modes & PathfindingDebugMode.Nodes) != 0)
            {
                DrawAStarNodes(screenHandle, viewport);
                DrawJpsNodes(screenHandle, viewport);
            }

            if ((Modes & PathfindingDebugMode.Graph) != 0)
            {
                DrawGraph(screenHandle, viewport);
            }

            if ((Modes & PathfindingDebugMode.CachedRegions) != 0)
            {
                DrawCachedRegions(screenHandle, viewport);
            }

            if ((Modes & PathfindingDebugMode.Regions) != 0)
            {
                DrawRegions(screenHandle, viewport);
            }
        }
コード例 #20
0
        protected override void Draw(DrawingHandleBase handle, OverlaySpace overlay)
        {
            var drawHandle = (DrawingHandleWorld)handle;

            var mapId = _eyeManager.CurrentMap;
            var eye   = _eyeManager.CurrentEye;

            var worldBounds = Box2.CenteredAround(eye.Position.Position,
                                                  _clyde.ScreenSize / (float)EyeManager.PixelsPerMeter * eye.Zoom);

            // IF YOU ARE ABOUT TO INTRODUCE CHUNKING OR SOME OTHER OPTIMIZATION INTO THIS CODE:
            //  -- THINK! --
            // 1. "Is this going to make a critical atmos debugging tool harder to debug itself?"
            // 2. "Is this going to do anything that could cause the atmos debugging tool to use resources, server-side or client-side, when nobody's using it?"
            // 3. "Is this going to make it harder for atmos programmers to add data that may not be chunk-friendly into the atmos debugger?"
            // Nanotrasen needs YOU! to avoid premature optimization in critical debugging tools - 20kdc

            foreach (var mapGrid in _mapManager.FindGridsIntersecting(mapId, worldBounds))
            {
                if (!_atmosDebugOverlaySystem.HasData(mapGrid.Index))
                {
                    continue;
                }

                var gridBounds = new Box2(mapGrid.WorldToLocal(worldBounds.BottomLeft), mapGrid.WorldToLocal(worldBounds.TopRight));

                for (var pass = 0; pass < 3; pass++)
                {
                    foreach (var tile in mapGrid.GetTilesIntersecting(gridBounds))
                    {
                        var dataMaybeNull = _atmosDebugOverlaySystem.GetData(mapGrid.Index, tile.GridIndices);
                        if (dataMaybeNull != null)
                        {
                            var data = (SharedAtmosDebugOverlaySystem.AtmosDebugOverlayData)dataMaybeNull !;
                            if (pass == 0)
                            {
                                float total = 0;
                                foreach (float f in data.Moles)
                                {
                                    total += f;
                                }
                                var interp = total / (Atmospherics.MolesCellStandard * 2);
                                var res    = Color.InterpolateBetween(Color.Red, Color.Green, interp).WithAlpha(0.75f);
                                drawHandle.DrawRect(Box2.FromDimensions(mapGrid.LocalToWorld(new Vector2(tile.X, tile.Y)), new Vector2(1, 1)), res);
                            }
                            else if (pass == 1)
                            {
                                if (data.PressureDirection != AtmosDirection.Invalid)
                                {
                                    var atmosAngle    = data.PressureDirection.ToAngle();
                                    var atmosAngleOfs = atmosAngle.ToVec() * 0.4f;
                                    var tileCentre    = new Vector2(tile.X + 0.5f, tile.Y + 0.5f);
                                    var basisA        = mapGrid.LocalToWorld(tileCentre);
                                    var basisB        = mapGrid.LocalToWorld(tileCentre + atmosAngleOfs);
                                    drawHandle.DrawLine(basisA, basisB, Color.Blue);
                                }
                            }
                            else if (pass == 2)
                            {
                                if (data.InExcitedGroup)
                                {
                                    var tilePos = new Vector2(tile.X, tile.Y);
                                    var basisA  = mapGrid.LocalToWorld(tilePos);
                                    var basisB  = mapGrid.LocalToWorld(tilePos + new Vector2(1.0f, 1.0f));
                                    var basisC  = mapGrid.LocalToWorld(tilePos + new Vector2(0.0f, 1.0f));
                                    var basisD  = mapGrid.LocalToWorld(tilePos + new Vector2(1.0f, 0.0f));
                                    drawHandle.DrawLine(basisA, basisB, Color.Cyan);
                                    drawHandle.DrawLine(basisC, basisD, Color.Cyan);
                                }
                            }
                        }
                    }
                }
            }
        }
コード例 #21
0
        protected override void Draw(DrawingHandleBase handle, OverlaySpace overlay)
        {
            var drawHandle = (DrawingHandleWorld)handle;

            var mapId = _eyeManager.CurrentMap;
            var eye   = _eyeManager.CurrentEye;

            var worldBounds = Box2.CenteredAround(eye.Position.Position,
                                                  _clyde.ScreenSize / (float)EyeManager.PixelsPerMeter * eye.Zoom);

            // IF YOU ARE ABOUT TO INTRODUCE CHUNKING OR SOME OTHER OPTIMIZATION INTO THIS CODE:
            //  -- THINK! --
            // 1. "Is this going to make a critical atmos debugging tool harder to debug itself?"
            // 2. "Is this going to do anything that could cause the atmos debugging tool to use resources, server-side or client-side, when nobody's using it?"
            // 3. "Is this going to make it harder for atmos programmers to add data that may not be chunk-friendly into the atmos debugger?"
            // Nanotrasen needs YOU! to avoid premature optimization in critical debugging tools - 20kdc

            foreach (var mapGrid in _mapManager.FindGridsIntersecting(mapId, worldBounds))
            {
                if (!_atmosDebugOverlaySystem.HasData(mapGrid.Index))
                {
                    continue;
                }

                var gridBounds = new Box2(mapGrid.WorldToLocal(worldBounds.BottomLeft), mapGrid.WorldToLocal(worldBounds.TopRight));

                for (var pass = 0; pass < 2; pass++)
                {
                    foreach (var tile in mapGrid.GetTilesIntersecting(gridBounds))
                    {
                        var dataMaybeNull = _atmosDebugOverlaySystem.GetData(mapGrid.Index, tile.GridIndices);
                        if (dataMaybeNull != null)
                        {
                            var data = (SharedAtmosDebugOverlaySystem.AtmosDebugOverlayData)dataMaybeNull !;
                            if (pass == 0)
                            {
                                // -- Mole Count --
                                float total = 0;
                                switch (_atmosDebugOverlaySystem.CfgMode)
                                {
                                case AtmosDebugOverlayMode.TotalMoles:
                                    foreach (float f in data.Moles)
                                    {
                                        total += f;
                                    }
                                    break;

                                case AtmosDebugOverlayMode.GasMoles:
                                    total = data.Moles[_atmosDebugOverlaySystem.CfgSpecificGas];
                                    break;

                                case AtmosDebugOverlayMode.Temperature:
                                    total = data.Temperature;
                                    break;
                                }
                                var   interp = ((total - _atmosDebugOverlaySystem.CfgBase) / _atmosDebugOverlaySystem.CfgScale);
                                Color res;
                                if (_atmosDebugOverlaySystem.CfgCBM)
                                {
                                    // Greyscale interpolation
                                    res = Color.InterpolateBetween(Color.Black, Color.White, interp);
                                }
                                else
                                {
                                    // Red-Green-Blue interpolation
                                    if (interp < 0.5f)
                                    {
                                        res = Color.InterpolateBetween(Color.Red, Color.Green, interp * 2);
                                    }
                                    else
                                    {
                                        res = Color.InterpolateBetween(Color.Green, Color.Blue, (interp - 0.5f) * 2);
                                    }
                                }
                                res = res.WithAlpha(0.75f);
                                drawHandle.DrawRect(Box2.FromDimensions(mapGrid.LocalToWorld(new Vector2(tile.X, tile.Y)), new Vector2(1, 1)), res);
                            }
                            else if (pass == 1)
                            {
                                // -- Blocked Directions --
                                void CheckAndShowBlockDir(AtmosDirection dir)
                                {
                                    if (data.BlockDirection.HasFlag(dir))
                                    {
                                        // Account for South being 0.
                                        var atmosAngle       = dir.ToAngle() - Angle.FromDegrees(90);
                                        var atmosAngleOfs    = atmosAngle.ToVec() * 0.45f;
                                        var atmosAngleOfsR90 = new Vector2(atmosAngleOfs.Y, -atmosAngleOfs.X);
                                        var tileCentre       = new Vector2(tile.X + 0.5f, tile.Y + 0.5f);
                                        var basisA           = mapGrid.LocalToWorld(tileCentre + atmosAngleOfs - atmosAngleOfsR90);
                                        var basisB           = mapGrid.LocalToWorld(tileCentre + atmosAngleOfs + atmosAngleOfsR90);
                                        drawHandle.DrawLine(basisA, basisB, Color.Azure);
                                    }
                                }

                                CheckAndShowBlockDir(AtmosDirection.North);
                                CheckAndShowBlockDir(AtmosDirection.South);
                                CheckAndShowBlockDir(AtmosDirection.East);
                                CheckAndShowBlockDir(AtmosDirection.West);
                                // -- Pressure Direction --
                                if (data.PressureDirection != AtmosDirection.Invalid)
                                {
                                    // Account for South being 0.
                                    var atmosAngle    = data.PressureDirection.ToAngle() - Angle.FromDegrees(90);
                                    var atmosAngleOfs = atmosAngle.ToVec() * 0.4f;
                                    var tileCentre    = new Vector2(tile.X + 0.5f, tile.Y + 0.5f);
                                    var basisA        = mapGrid.LocalToWorld(tileCentre);
                                    var basisB        = mapGrid.LocalToWorld(tileCentre + atmosAngleOfs);
                                    drawHandle.DrawLine(basisA, basisB, Color.Blue);
                                }
                                // -- Excited Groups --
                                if (data.InExcitedGroup)
                                {
                                    var tilePos = new Vector2(tile.X, tile.Y);
                                    var basisA  = mapGrid.LocalToWorld(tilePos);
                                    var basisB  = mapGrid.LocalToWorld(tilePos + new Vector2(1.0f, 1.0f));
                                    var basisC  = mapGrid.LocalToWorld(tilePos + new Vector2(0.0f, 1.0f));
                                    var basisD  = mapGrid.LocalToWorld(tilePos + new Vector2(1.0f, 0.0f));
                                    drawHandle.DrawLine(basisA, basisB, Color.Cyan);
                                    drawHandle.DrawLine(basisC, basisD, Color.Cyan);
                                }
                            }
                        }
                    }
                }
            }
        }
コード例 #22
0
 protected abstract void Draw(DrawingHandleBase handle);
コード例 #23
0
 /// <summary>
 /// Draws this overlay to the current space.
 /// </summary>
 /// <param name="handle">Current drawing handle that the overlay should be drawing with. Do not hold a reference to this in the overlay.</param>
 /// <param name="currentSpace">Current space that is being drawn. This function is called for every space that was set up in initialization.</param>
 protected abstract void Draw(DrawingHandleBase handle, OverlaySpace currentSpace);
コード例 #24
0
 protected override void Draw(DrawingHandleBase handle, OverlaySpace currentSpace)
 {
     _manager.Render((DrawingHandleWorld)handle);
 }
コード例 #25
0
 protected override void Draw(DrawingHandleBase handle)
 {
     _manager.Render((DrawingHandleWorld)handle);
 }