示例#1
0
        public void checkCollision()
        {
            bool collided = false;
            for (int i = 0; i < levelCreator.height; i++)
            {
                for (int j = 0; j < levelCreator.width; j++)
                {
                    LcTilePlace temp = levelCreator.tileArray[i,j];

                    if (temp.activeCol)
                    {
                        if (temp.bounds.checkPoint(pos))
                        {
                            collided = true;
                            if (temp != activeTile)
                            {
                                if (activeTile != null)
                                    activeTile.disable();
                                activeTile = temp;
                                activeTile.activate();
                            }
                        }
                    }
                }
            }
            if (activeTile != null)
            {
                if (!collided)
                {
                    activeTile.disable();
                    activeTile = null;
                }
            }

            collided = false;
            foreach(LcMenuTile m in levelCreator.menuTiles)
            {
                if (m.bounds.checkPoint(pos))
                {
                    collided = true;
                    if (m != activeMenuTile)
                    {
                        if (activeMenuTile != null)
                            activeMenuTile.disable();
                        activeMenuTile = m;
                        activeMenuTile.activate();
                    }
                }
            }
            if (activeMenuTile != null)
            {
                if (!collided)
                {
                    activeMenuTile.disable();
                    activeMenuTile = null;
                }
            }

            collided = false;
            foreach (LcGridModifier m in levelCreator.gridModifiers)
            {
                if (m.bounds.checkPoint(pos))
                {
                    collided = true;
                    if (m != activeGridModifier)
                    {
                        if (activeGridModifier != null)
                            activeGridModifier.disable();
                        activeGridModifier = m;
                        activeGridModifier.activate();
                    }
                }
            }
            if (activeGridModifier != null)
            {
                if (!collided)
                {
                    activeGridModifier.disable();
                    activeGridModifier = null;
                }
            }

            if(levelCreator.saveButton.bounds.checkPoint(pos))
            {
                levelCreator.saveButton.activate();

                if (Mouse.GetState().LeftButton == ButtonState.Pressed)
                    levelCreator.saveButton.onClick();
            }
            else
            {
                levelCreator.saveButton.disable();
            }

            collided = false;
            foreach (LcTextField t in levelCreator.textFields)
            {
                if (t.bounds.checkPoint(pos))
                {
                    collided = true;
                        activeText = t;
                }
            }
            if (activeText != null)
            {
                if (!collided)
                {
                    activeText = null;
                }
            }
        }
 public void setTextField(LcTextField t)
 {
     if (t != activeField)
     {
         if(activeField != null)
             activeField.disable();
         activeField = t;
         if (activeField != null)
             activeField.activate();
     }
 }