示例#1
0
文件: Room.cs 项目: mrwappa/AI-AStar
        public override void Update()
        {
            if (GetKeyPressed(Keys.Tab))
            {
                FileDialog();
            }

            if (AStarGrid != null)
            {
                if (Mouse.LeftButton == ButtonState.Pressed && Keyboard.IsKeyUp(Keys.LeftShift) && Keyboard.IsKeyUp(Keys.Space))
                {
                    if (GridSnapMouse.X < 960 && GridSnapMouse.Y < 540 && GridSnapMouse.X > 0 && GridSnapMouse.Y > 0)
                    {
                        List <CollideObject> solids = CollideObject.GetList(typeof(Solid));
                        if (solids != null)
                        {
                            bool canCreate = true;
                            foreach (Solid obj in solids)
                            {
                                if (obj.X == GridSnapMouse.X && obj.Y == GridSnapMouse.Y)
                                {
                                    canCreate = false;
                                }
                            }
                            if (canCreate)
                            {
                                new Brick(GridSnapMouse.X, GridSnapMouse.Y);
                            }
                        }
                        else
                        {
                            new Brick(GridSnapMouse.X, GridSnapMouse.Y);
                        }
                    }
                }

                if (Mouse.RightButton == ButtonState.Pressed)
                {
                    List <CollideObject> solids = CollideObject.GetList(typeof(Solid));
                    foreach (Solid obj in solids.ToList())
                    {
                        if (obj.X == GridSnapMouse.X && obj.Y == GridSnapMouse.Y)
                        {
                            DestroyInstance(obj);
                        }
                    }
                }
            }


            if (GetKeyPressed(Keys.R))
            {
                RestartRoom();
            }

            base.Update();
        }
示例#2
0
文件: Room.cs 项目: mrwappa/AI-AStar
        public override void DrawGUI()
        {
            List <CollideObject> tempList = CollideObject.GetList(typeof(Solid));

            if (tempList != null)
            {
                SpriteBatch.DrawString(Font, tempList.Count.ToString(), new Vector2(20, 80), Color.Black);
            }
        }