Example #1
0
        public void Update()
        {
            MouseState mouse = Mouse.GetState();

            if (Delay < DateTime.Now && mouse.LeftButton == ButtonState.Pressed)
            {
                if (Selected == null)
                {
                    Rectangle R = new Rectangle(mouse.X-3, mouse.Y-3, 2, 2);

                    for (int i = 0; i < WorldActors.Count(); i++)
                    {
                        Actor A = WorldActors[i] as Actor;

                        if (R.Intersects(A.CollisionRectangle))
                        {
                            Selected = A;
                            Delay = DateTime.Now.AddSeconds(0.5);
                            return;
                        }
                    }
                }
                else
                {
                    for (int i = 0; i < WorldActors.Count(); i++)
                    {
                        Actor A = WorldActors[i] as Actor;

                        if (A == Selected)
                        {
                            Selected.Position = new Vector2(mouse.X, mouse.Y);
                            WorldActors[i] = Selected;
                            Selected = null;

                            Delay = DateTime.Now.AddSeconds(0.5);

                            return;
                        }
                    }

                }
            }
        }
Example #2
0
 public Sensor(ref List<Actor> aWorldActors, Actor aHost, SpriteFont aDebugFont)
 {
     pHost = aHost;
     pWorldActors = aWorldActors;
     DebugFont = aDebugFont;
 }
Example #3
0
 public AgentSensor(ref List<Actor> aWorldActors, Actor aHost, SpriteFont aDebugFont)
     : base(ref aWorldActors, aHost, aDebugFont)
 {
 }
Example #4
0
        public virtual Boolean CheckCollision(Actor B)
        {
            if ((this)is Pawn && B is Pawn&&(pSprite.Width)>Vector2.Distance((this).pPosition,B.pPosition))
            {

                pPosition = pLastPosition;
                return true;
            }
            else if (CollisionRectangle.Intersects(B.CollisionRectangle))
            {
                pPosition = pLastPosition;
                return true;
            }

            return false;
        }