Exemplo n.º 1
0
        public void setUp( Vector2 position, int width, int height, ILogic brain = null, BodyBase body = null, IRenderable renderer = null, IMovable mover = null )
        {
            // Start setUp.

            if (!_setUp)
            { // Start not setup if.

                _position = position;
                _width = width;
                _height = height;

                _setUp = true;

                if (brain != null)
                    _brain = brain;

                if (body != null)
                    _body = body;

                if (renderer != null)
                    _renderer = renderer;

                if ( mover != null)
                    _mover = mover;

            } // End not setup if.
        }
Exemplo n.º 2
0
 /// <summary>
 /// Initializes a new instance of GeometryNode.
 /// </summary>
 public GeometryNode(Renderer renderer, SceneGraph sceneGraph, Matrix localTransform,
     IRenderable renderObject)
     : base(renderer, sceneGraph)
 {
     this.localTransform = localTransform;
     this.renderObject = renderObject;
 }
Exemplo n.º 3
0
 public void Add(IRenderable renderable)
 {
     if(Children.Contains(renderable))
         return;
     Children.Add(renderable);
     if(renderable is Mesh3d)
     {
         Mesh3d mesh = renderable as Mesh3d;
         if(mesh.GetCollisionShape() != null || renderable is IPhysical)
         {
             lock(PhysicalWorld)
             {
                 CollisionObjects.Add(renderable, mesh.CreateRigidBody());
                 mesh.PhysicalBody.SetSleepingThresholds(0, 0);
                 mesh.PhysicalBody.ContactProcessingThreshold = 0;
                 mesh.PhysicalBody.CcdMotionThreshold = 0;
                 PhysicalWorld.AddRigidBody(mesh.PhysicalBody);
             }
         }
     }
     else if(renderable is IPhysical)
     {
         IPhysical physicalObject = renderable as IPhysical;
         lock(PhysicalWorld)
         {
             PhysicalWorld.AddRigidBody(physicalObject.GetRigidBody());
             physicalObject.GetRigidBody().SetSleepingThresholds(0, 0);
             physicalObject.GetRigidBody().ContactProcessingThreshold = 0;
             physicalObject.GetRigidBody().CcdMotionThreshold = 0;
         }
     }
 }
Exemplo n.º 4
0
 public RenderableNode(IRenderable renderableObject)
     : base(Text.GetCapitalLetters(typeof(RenderableNode).GetType().Name) + '_' + ++count,  SceneNodeType.Renderable)
 {
     IsLeaf = true;
     this.RenderableObject = renderableObject;
     renderableObject.ParentNode = this;
 }
        public void EnqueueForRendering(IRenderable obj)
        {
            char[,] objImage = obj.ImageProfile;

            int imageRows = objImage.GetLength(0);
            int imageCols = objImage.GetLength(1);

            Point objTopLeft = obj.Bounds.TopLeft;

            int lastRow = Math.Min(objTopLeft.Y + imageRows, this.consoleHeight);
            int lastCol = Math.Min(objTopLeft.X + imageCols, this.consoleWidth);

            for (int row = objTopLeft.Y; row < lastRow; row++)
            {
                for (int col = objTopLeft.X; col < lastCol; col++)
                {
                    if (row >= 0 && row < this.consoleHeight &&
                        col >= 0 && col < this.consoleWidth)
                    {
                        this.consoleMatrix[row, col] =
                            objImage[row - objTopLeft.Y, col - objTopLeft.X];
                    }
                }
            }
        }
 public ReplaceRenderable(string NodeName, IRenderable NewRenderable)
 {
     this.NodeName = NodeName;
     this.NewRenderable = NewRenderable;
     OldRenderable = OutsideSimulatorApp.GetInstance().SceneRootNode.GetDescendant(NodeName).Renderable;
     _isPerformed = false;
 }
        public static string GetDisplayName(IRenderable obj)
        {
            string name = obj.Name;
            string[] parts = name.Split('/');

            return parts[parts.Length-1];
        }
Exemplo n.º 8
0
        /// <summary>
        /// Add a IRenderable to this group
        /// </summary>
        /// <param name="renderable">IRenderable instance</param>
        internal void AddRenderable(IRenderable renderable)
        {
            Material material = renderable.Material;

            if (!material.IsTransparent) _solids.Add(renderable);
            else _transparents.Add(renderable);
        }
Exemplo n.º 9
0
 public void Add(IRenderable renderable)
 {
     lock (mRenderables)
     {
         mRenderables.Add(renderable);
     }
 }
Exemplo n.º 10
0
		public IconButton(IGameWindow window, Camera<OrthographicProjection> camera, Vector2 position, IRenderable renderable, Key? hotkey = null)
			: base(window, camera, position)
		{
			Renderable = renderable;
			IsSelected = false;
			Hotkey = hotkey;
		}
Exemplo n.º 11
0
        public void DrawObject(IRenderable obj)
        {
            Camera cam = (Camera) this.Game.Services.GetService(typeof(ICameraService));

            Model m = obj.Model3D;

            Matrix[] transforms = new Matrix[m.Bones.Count];
            m.CopyAbsoluteBoneTransformsTo(transforms);

            Matrix projection = cam.Projection;
            Matrix view = cam.View;

            foreach (ModelMesh mesh in m.Meshes)
            {
                foreach (BasicEffect effect in mesh.Effects)
                {
                    effect.EnableDefaultLighting();

                    effect.View = view;
                    effect.Projection = projection;
                    effect.World = transforms[mesh.ParentBone.Index] * Matrix.CreateFromQuaternion(obj.Orientation) * Matrix.CreateTranslation(obj.Position + obj.PositionOffset);
                }

                mesh.Draw();
            }
        }
Exemplo n.º 12
0
 /// <summary>
 /// Create the action to create an object
 /// </summary>
 /// <param name="parent">The parent scene node to which to attach the object</param>
 /// <param name="renderable">The renderable to provide to the node</param>
 public CreateObject(IRenderable renderable, Matrix transform)
 {
     IsPerformed = false;
     ParentNode = OutsideSimulatorApp.GetInstance().SceneRootNode;
     ChildName = (ParentNode.GetHashCode() + DateTime.Now.GetHashCode()).ToString();
     Renderable = renderable;
     Transform = transform;
 }
        /// <summary>
        /// Setup constructor
        /// </summary>
        public PlanetSurface( float radius )
        {
            Graphics.Draw.StartCache( );
            Graphics.Draw.Sphere( Graphics.Draw.NewSurface( Color.OliveDrab ), Point3.Origin, radius, 100, 100 );
            m_Geometry = Graphics.Draw.StopCache( );

            m_Technique = new TechniqueSelector( "Shared/diffuseLit.cgfx", true, "DefaultTechnique" );
        }
Exemplo n.º 14
0
 /// <summary>
 /// Initializes a new instance of RenderPacket.
 /// </summary>
 public RenderPacket( IRenderable renderObject, string materialName, Matrix localTransform,
     List<object> extraData)
 {
     RenderObject = renderObject;
     MaterialName = materialName;
     LocalTransform = localTransform;
     ExtraData = extraData;
 }
Exemplo n.º 15
0
 public void ApplyInstanceParameters(IRenderable rObject)
 {
     foreach (InstanceParameter p in instanceParameters.Values)
     {
         //VerboseEvent.InstanceParameterSetting.Log(rObject.Name, p.Type.ToString());
         p.Apply(rObject);
     }
 }
Exemplo n.º 16
0
        public void Render(IRenderable obj)
        {
            var image = this.AssetLoader.GetImage(obj.Type);

            Canvas.SetLeft(image, obj.X);
            Canvas.SetTop(image, obj.Y);
            this.Canvas.Children.Add(image);
        }
Exemplo n.º 17
0
 public Ship( )
 {
     //	TODO: AP: Oh dear... get a proper model, loser
     Graphics.Draw.StartCache( );
     Graphics.Draw.Cylinder( Graphics.Surfaces.Green, Point3.Origin + Vector3.XAxis * 1.5f, Point3.Origin + Vector3.YAxis * 3.0f, 1.0f );
     Graphics.Draw.Cylinder( Graphics.Surfaces.Green, Point3.Origin - Vector3.XAxis * 1.5f, Point3.Origin + Vector3.YAxis * 3.0f, 1.0f );
     Graphics.Draw.Cylinder( Graphics.Surfaces.Green, Point3.Origin, Point3.Origin + Vector3.YAxis * 2.0f, 0.5f );
     m_ShipGraphics = Graphics.Draw.StopCache( );
 }
Exemplo n.º 18
0
 public GBSystem(IRenderable renderWindow, IInputHandler iInputHandler, ITimekeeper timeKeeper)
 {
     screen = renderWindow;
     state = GBSystemState.Stopped;
     isFocused = true;
     inputHandler = iInputHandler;
     frameTimer = timeKeeper;
     frameLimitIndex = 1;
 }
Exemplo n.º 19
0
 internal void SetDirection(IRenderable renderer, vec3 direction)
 {
     direction.y = 0;
     direction = direction.normalize();
     float cosRadian = direction.dot(new vec3(1, 0, 0));// (1, 0, 0) is teapot's default direction.
     float radian = (float)Math.Acos(cosRadian);
     if (direction.z > 0) { radian = -radian; }
     renderer.RotationAngleDegree = (float)(radian * 180.0 / Math.PI);
 }
Exemplo n.º 20
0
 public static string Render(IRenderable renderable)
 {
     var memoryStream = new MemoryStream();
     var streamWriter = new StreamWriter(memoryStream, Encoding.UTF8);
     streamWriter.AutoFlush = true;
     renderable.Render(streamWriter);
     memoryStream.Seek(0, SeekOrigin.Begin);
     return new StreamReader(memoryStream, Encoding.UTF8).ReadToEnd();
 }
Exemplo n.º 21
0
        public void update( IColidable body, IRenderable renderer )
        {
            // Start Update.

            if( body.hasCollided && !( (AnimationComponent) renderer ).isRunning )
            {

            }
        }
Exemplo n.º 22
0
        public void EnqueueForRendering(IRenderable objForRendering)
        {
            List<GameFieldCoords> objPosition = objForRendering.GetPosition();

            foreach (GameFieldCoords position in objPosition)
            {
                this.gameField[position.Row, position.Col] = objForRendering.RenderingSymbol;
            }
        }
Exemplo n.º 23
0
 public static IRenderable Create(IRenderable parentElement, string ID)
 {
     var returnObj = new Renderable_IRenderable
     {
         parentElement = parentElement,
         ID = ID,
     };
     return returnObj;
 }
        /// <summary>
        /// Builds marble geometry
        /// </summary>
        private void BuildGeometry( Units.Metres radius )
        {
            DestroyGeometry( );

            Graphics.Draw.StartCache( );
            Graphics.Draw.Sphere( null, Point3.Origin, ( float )radius.ToAstroRenderUnits, 20, 20 );
            m_Geometry = Graphics.Draw.StopCache( );
            m_GeometryRadius = radius;
        }
Exemplo n.º 25
0
		public void updateRenderableRenderLayer( IRenderable component, int oldRenderLayer, int newRenderLayer )
		{
			// a bit of care needs to be taken in case a renderLayer is changed before the component is "live". this can happen when a component
			// changes its renderLayer immediately after being created
			if( _componentsByRenderLayer.ContainsKey( oldRenderLayer ) && _componentsByRenderLayer[oldRenderLayer].contains( component ) )
			{
				_componentsByRenderLayer[oldRenderLayer].remove( component );
				addToRenderLayerList( component, newRenderLayer );
			}
		}
Exemplo n.º 26
0
        static Projectile( )
        {
            ms_Surface = Graphics.Draw.NewSurface( Color.LimeGreen );
            ms_Surface.State.DepthWrite = true;
            ms_Surface.State.DepthTest = true;

            Graphics.Draw.StartCache( );
            Graphics.Draw.Sphere( ms_Surface, Point3.Origin, 0.2f );
            ms_Cache = Graphics.Draw.StopCache( );
        }
Exemplo n.º 27
0
		void addToRenderLayerList( IRenderable component, int renderLayer )
		{
			var list = componentsWithRenderLayer( renderLayer );
			Assert.isFalse( list.contains( component ), "Component renderLayer list already contains this component" );

			list.add( component );
			if( !_unsortedRenderLayers.Contains( renderLayer ) )
				_unsortedRenderLayers.Add( renderLayer );
			_componentsNeedSort = true;
		}
Exemplo n.º 28
0
        public override void Initialize()
        {
            _renderList = new Dictionary<IRenderable, List<Instance>>();
            _lineRenderList = new List<LineInstance>();
            _instance = this;
            _cubeMeshWire = new CubeMeshWire();
            _cubeMeshSolid = new CubeMeshSolid();

            CreateShaderFromFile("debug", "shaders/debug_vs.glsl", "shaders/debug_fs.glsl");
        }
        internal static bool TryHandleAsBaseType(string baseType, SystemManagers systemManagers, out IRenderable containedObject)
        {
            bool handledAsBaseType = true;
            containedObject = null;

            switch (baseType)
            {

                case "Container":

                    LineRectangle lineRectangle = new LineRectangle(systemManagers);
                    containedObject = lineRectangle;
                    break;

                case "Rectangle":
                    LineRectangle rectangle = new LineRectangle();
                    rectangle.IsDotted = false;
                    containedObject = rectangle;
                    break;
                case "Circle":
                    LineCircle circle = new LineCircle();
                    circle.CircleOrigin = CircleOrigin.TopLeft;
                    containedObject = circle;
                    break;

                case "ColoredRectangle":
                    SolidRectangle solidRectangle = new SolidRectangle();
                    containedObject = solidRectangle;
                    break;
                case "Sprite":
                    Texture2D texture = null;

                    Sprite sprite = new Sprite(texture);
                    containedObject = sprite;

                    break;
                case "NineSlice":
                    {
                        NineSlice nineSlice = new NineSlice();
                        containedObject = nineSlice;
                    }
                    break;
                case "Text":
                    {
                        Text text = new Text(systemManagers, "");
                        containedObject = text;
                    }
                    break;
                default:
                    handledAsBaseType = false;
                    break;
            }

            return handledAsBaseType;
        }
Exemplo n.º 30
0
 /// <summary>
 /// Prevents a default instance of the <see cref="GameEngine" /> class from being created.
 /// Part of Singleton.
 /// Starts the game if there are no errors.
 /// </summary>
 private GameEngine(IRenderable renderer)
 {
     try
     {
         this.StartNewGame(renderer);
     }
     catch (ArgumentOutOfRangeException ex)
     {
         renderer.Write(ex.Message);
     }
 }
Exemplo n.º 31
0
 private static int ZValueComparer(IRenderable first, IRenderable second)
 {
     return(first.ZValue - second.ZValue);
 }
Exemplo n.º 32
0
        /// <summary>
        /// Draws texture region taking into account the context transformations
        /// </summary>
        /// <param name="renderable"></param>
        /// <param name="rectangle"></param>
        /// <param name="color"></param>
        public void Draw(IRenderable renderable, Rectangle rectangle, Color?color = null)
        {
            var c = color != null ? color.Value : Color.White;

            renderable.Draw(Batch, rectangle, c * Opacity);
        }
Exemplo n.º 33
0
        protected MeshListTreeNode createTMDNode(string name, TMDDocument tmdDoc)
        {
            MeshListTreeNode rootNode = new MeshListTreeNode(name, tmdDoc.ObjectMeshes, contextMenu: new ContextMenu(
                                                                 new Dictionary <string, Action>
            {
                {
                    "Export as TMD",
                    () =>
                    {
                        _exportController.OpenDialog(
                            filePath => { _exportController.ExportOriginal(tmdDoc.Document, filePath); }, ".tmd");
                    }
                },
                {
                    "Export as OBJ",
                    () =>
                    {
                        _exportController.OpenDialog(
                            filePath => { _exportController.ExportOBJ(tmdDoc.ObjectMeshes, filePath); }, ".obj");
                    }
                },
                {
                    "Export as PLY",
                    () =>
                    {
                        _exportController.OpenDialog(
                            filePath => { _exportController.ExportPLY(tmdDoc.ObjectMeshes, filePath); }, ".ply");
                    }
                },
            }));

            for (int i = 0; i < tmdDoc.Document.Header.NumObjects; i++)
            {
                IRenderable      objMesh = tmdDoc.ObjectMeshes[i];
                MeshListTreeNode objNode =
                    new MeshListTreeNode($"Object {i}", new List <IRenderable> {
                    objMesh
                },
                                         contextMenu: new ContextMenu(
                                             new Dictionary <string, Action>
                {
                    {
                        "Export as OBJ",
                        () =>
                        {
                            _exportController.OpenDialog(
                                filePath => { _exportController.ExportOBJ(objMesh, filePath); }, ".obj");
                        }
                    },
                    {
                        "Export as PLY",
                        () =>
                        {
                            _exportController.OpenDialog(
                                filePath => { _exportController.ExportPLY(objMesh, filePath); }, ".ply");
                        }
                    }
                }));
                rootNode.AddNode(objNode);
            }

            return(rootNode);
        }
Exemplo n.º 34
0
 public void Remove(IRenderable item)
 {
     flaggedForRemoval.Add(item); item.OnCanvas = null;
 }
Exemplo n.º 35
0
        /// <summary>
        /// Draws texture region taking into account the context transformations
        /// </summary>
        /// <param name="renderable"></param>
        /// <param name="rectangle"></param>
        /// <param name="color"></param>
        public void Draw(IRenderable renderable, Point location, Color?color = null)
        {
            var c = color != null ? color.Value : Color.White;

            renderable.Draw(Batch, new Rectangle(location.X, location.Y, renderable.Size.X, renderable.Size.Y), c * Opacity);
        }
Exemplo n.º 36
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Panel"/> class.
 /// </summary>
 /// <param name="content">The panel content.</param>
 public Panel(IRenderable content)
 {
     _child = content ?? throw new System.ArgumentNullException(nameof(content));
 }
Exemplo n.º 37
0
 public void AddOpaqueMesh(IRenderable mesh)
 {
     m_opaqueRenderList.Add(mesh);
 }
Exemplo n.º 38
0
 public override bool Matches(Engine.VPT.Table.Table table, IRenderable item, RenderObject ro, GameObject obj)
 {
     return(RenderPipeline.Current == _type);
 }
        internal static bool TryHandleAsBaseType(string baseType, SystemManagers systemManagers, out IRenderable containedObject)
        {
            bool handledAsBaseType = true;

            containedObject = null;

            switch (baseType)
            {
            case "Container":

                if (GraphicalUiElement.ShowLineRectangles)
                {
                    LineRectangle lineRectangle = new LineRectangle(systemManagers);
                    containedObject = lineRectangle;
                }
                else
                {
                    containedObject = new InvisibleRenderable();
                }
                break;

            case "Rectangle":
                LineRectangle rectangle = new LineRectangle(systemManagers);
                rectangle.IsDotted = false;
                containedObject    = rectangle;
                break;

            case "Circle":
                LineCircle circle = new LineCircle(systemManagers);
                circle.CircleOrigin = CircleOrigin.TopLeft;
                containedObject     = circle;
                break;

            case "ColoredRectangle":
                SolidRectangle solidRectangle = new SolidRectangle();
                containedObject = solidRectangle;
                break;

            case "Sprite":
                Texture2D texture = null;

                Sprite sprite = new Sprite(texture);
                containedObject = sprite;

                break;

            case "NineSlice":
            {
                NineSlice nineSlice = new NineSlice();
                containedObject = nineSlice;
            }
            break;

            case "Text":
            {
                Text text = new Text(systemManagers, "");
                containedObject = text;
            }
            break;

            default:
                handledAsBaseType = false;
                break;
            }

            return(handledAsBaseType);
        }
Exemplo n.º 40
0
 public void AddTransparentMesh(IRenderable mesh)
 {
     m_transparentRenderList.Add(mesh);
 }
Exemplo n.º 41
0
 private PictureBox GetPictureBoxByObject(IRenderable renderableObject)
 {
     return(this.pictureBoxes.First(p => p.Tag == renderableObject));
 }
Exemplo n.º 42
0
 public void InsertRenderable(IRenderable r, int inder)
 => Pipeline = Pipeline.Insert(inder, r);
Exemplo n.º 43
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Tree"/> class.
 /// </summary>
 /// <param name="renderable">The tree label.</param>
 public Tree(IRenderable renderable)
 {
     _root = new TreeNode(renderable);
 }
Exemplo n.º 44
0
 public void AddRenderable(IRenderable r)
 => Pipeline = Pipeline.Add(r);
Exemplo n.º 45
0
 public void AddRenderable(IRenderable renderable)
 {
     _renderables.Add(renderable);
     _renderables.Sort(ZValueComparer);
 }
 public override void InsertItem(int index, IRenderable el)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 47
0
 public bool Contains(IRenderable renderable)
 {
     return(_renderables.Contains(renderable));
 }
Exemplo n.º 48
0
 public abstract void Render(IRenderable renderable, SpriteBatch batch);
Exemplo n.º 49
0
 internal CommandAppException(string message, Exception ex, IRenderable pretty = null)
     : base(message, ex)
 {
     Pretty = pretty;
 }
Exemplo n.º 50
0
 public ViewResult(IRenderable view)
 {
     this.View = view;
 }
Exemplo n.º 51
0
 public void Render(RenderContext context, IViewport target, CommandList cl, IRenderable renderable, ILocation locationObject)
 {
     //
 }
Exemplo n.º 52
0
 internal CommandTemplateException(string message, string template, IRenderable pretty)
     : base(message, pretty)
 {
     Template = template;
 }
Exemplo n.º 53
0
 public void Render(GraphicsDevice gd, CommandList cl, SceneContext sc, RenderPasses renderPass, IRenderable r)
 {
     cl.SetPipeline(_pipeline);
     cl.SetGraphicsResourceSet(0, sc.MainSceneViewResourceSet);
     cl.SetVertexBuffer(0, _vb);
     cl.SetIndexBuffer(_ib, IndexFormat.UInt16);
     cl.DrawIndexed(6, 1, 0, 0, 0);
 }
Exemplo n.º 54
0
 public AsteroidActor(IRenderable model, Vector4 position, Vector4 direction, Vector4 rotation, float velocity)
     : base(model, position, direction, rotation, velocity)
 {
 }
 protected override UIElement removeItem(IRenderable el)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 56
0
        //Implement a base rendering of an element
        public override void RenderShadow(IRenderable element, Graphics graphics, Render render)
        {
            Link link = element as Link;

            if (link.Points == null)
            {
                return;
            }
            if (link.Points.Count < 2)
            {
                return;
            }

            PointF startLocation  = (PointF)link.Points[0];
            PointF startReference = (PointF)link.Points[1];
            PointF endLocation    = (PointF)link.Points[link.Points.Count - 1];
            PointF endReference   = (PointF)link.Points[link.Points.Count - 2];

            startLocation  = Geometry.OffsetPoint(startLocation, link.Bounds.Location);
            startReference = Geometry.OffsetPoint(startReference, link.Bounds.Location);
            endLocation    = Geometry.OffsetPoint(endLocation, link.Bounds.Location);
            endReference   = Geometry.OffsetPoint(endReference, link.Bounds.Location);

            Layer        layer      = link.Layer;
            Pen          shadowPen  = new Pen(layer.ShadowColor);
            GraphicsPath shadowPath = link.GetPath();

            shadowPen.Color = render.AdjustColor(layer.ShadowColor, 0, link.Opacity);

            //Save the current region
            Region current = graphics.Clip;

            //Mask out the start marker
            if (link.Start.Marker != null)
            {
                Region region = new Region(link.Start.Marker.GetPath());
                region.Transform(Link.GetMarkerTransform(link.Start.Marker, startLocation, startReference, new Matrix()));
                region.Translate(layer.ShadowOffset.X, layer.ShadowOffset.Y);
                graphics.SetClip(region, CombineMode.Exclude);
            }

            //Mask out the end marker
            if (link.End.Marker != null)
            {
                Region region = new Region(link.End.Marker.GetPath());
                region.Transform(Link.GetMarkerTransform(link.End.Marker, endLocation, endReference, new Matrix()));
                region.Translate(layer.ShadowOffset.X, layer.ShadowOffset.Y);
                graphics.SetClip(region, CombineMode.Exclude);
            }

            graphics.TranslateTransform(layer.ShadowOffset.X, layer.ShadowOffset.Y);

            //Draw line
            if (layer.SoftShadows)
            {
                shadowPen.Color             = Color.FromArgb(20, shadowPen.Color);
                graphics.CompositingQuality = CompositingQuality.HighQuality;
                graphics.SmoothingMode      = SmoothingMode.HighQuality;
            }

            graphics.DrawPath(shadowPen, shadowPath);

            if (layer.SoftShadows)
            {
                graphics.CompositingQuality = render.CompositingQuality;
                graphics.SmoothingMode      = link.SmoothingMode;
            }

            //Restore graphics
            if (link.Start.Marker != null || link.End.Marker != null)
            {
                graphics.Clip = current;
                if (link.Start.Marker != null)
                {
                    RenderMarkerShadow(link.Start.Marker, startLocation, startReference, graphics, render);
                }
                if (link.End.Marker != null)
                {
                    RenderMarkerShadow(link.End.Marker, endLocation, endReference, graphics, render);
                }
            }

            graphics.TranslateTransform(-layer.ShadowOffset.X, -layer.ShadowOffset.Y);
        }
Exemplo n.º 57
0
 public void Add(IRenderable plottable)
 {
     settings.Plottables.Add(plottable);
 }
Exemplo n.º 58
0
 public void Add(IRenderable item)
 {
     activeItems.Add(item);
     item.OnCanvas           = this;
     isRenderablesOrderDirty = true;
 }
Exemplo n.º 59
0
        private Image GetImageByDirection(IRenderable renderableObject)
        {
            Image image;

            WarUnit u = (WarUnit)renderableObject;

            switch (renderableObject.SpriteType)
            {
            case SpriteType.Mage:

                if (u.Direction.X == 1 && u.Direction.Y == 0)
                {
                    image = this.mageImageR;
                }
                else if (u.Direction.X == -1 && u.Direction.Y == 0)
                {
                    image = this.mageImageL;
                }
                else if (u.Direction.X == 0 && u.Direction.Y == -1)
                {
                    image = this.mageImageU;
                }
                else if (u.Direction.X == 0 && u.Direction.Y == 1)
                {
                    image = this.mageImageD;
                }
                else
                {
                    image = this.mageImage;
                }
                break;

            case SpriteType.Fire:
                image = this.fireImage;
                break;

            case SpriteType.Ghoul:

                if (u.Direction.X == 1 && u.Direction.Y == 0)
                {
                    image = this.ghoulImageL;
                }
                else if (u.Direction.X == -1 && u.Direction.Y == 0)
                {
                    image = this.ghoulImageR;
                }
                else if (u.Direction.X == 0 && u.Direction.Y == -1)
                {
                    image = this.ghoulImageU;
                }
                else if (u.Direction.X == 0 && u.Direction.Y == 1)
                {
                    image = this.ghoulImageD;
                }
                else
                {
                    image = this.ghoulImageD;
                }
                break;

            case SpriteType.FireMagic:
                image = this.fireItem;
                break;

            case SpriteType.StoneMagic:
                image = this.stoneItem;
                break;

            case SpriteType.LifeMagic:
                image = this.lifeItem;
                break;

            case SpriteType.CharmMagic:
                image = this.charmItem;
                break;

            case SpriteType.Stone:
                image = this.stoneOnThrow;
                break;

            case SpriteType.Spit:
                image = this.spitImage;
                break;

            default:
                image = this.wallImage;
                break;
            }
            return(image);
        }
Exemplo n.º 60
0
        private Image GetSpriteImage(IRenderable renderableObject)
        {
            Image image;

            switch (renderableObject.SpriteType)
            {
            case SpriteType.Mage:
                image = this.mageImage;
                break;

            case SpriteType.Fire:
                image = this.fireImage;
                break;

            case SpriteType.Ghoul:
                image = this.ghoulImage;
                break;

            case SpriteType.Spit:
                image = this.spitImage;
                break;

            case SpriteType.FireMagic:
                image = this.fireItem;
                break;

            case SpriteType.StoneMagic:
                image = this.stoneItem;
                break;

            case SpriteType.LifeMagic:
                image = this.lifeItem;
                break;

            case SpriteType.CharmMagic:
                image = this.charmItem;
                break;

            case SpriteType.Stone:
                image = this.stoneOnThrow;
                break;

            case SpriteType.Blood:
                image = this.bloodImage;
                break;

            case SpriteType.Skeleton1:
                image = this.skeleton1;
                break;

            case SpriteType.Skeleton2:
                image = this.skeleton2;
                break;

            case SpriteType.Skeleton3:
                image = this.skeleton3;
                break;

            case SpriteType.Skeleton4:
                image = this.skeleton4;
                break;

            case SpriteType.MonsterDead:
                image = this.MonsterDead;
                break;

            default:
                image = this.wallImage;
                break;
            }
            return(image);
        }