Ejemplo n.º 1
0
        public L2TileTool(Texture2D _textureMenuOpen, Texture2D _textureMenuClosed, List <Texture2D> _listTextures)
        {
            listButtonTextures = new List <Texture2D>();
            ignoredAreas       = new List <Rectangle>();    // Initializes an empty list
            listMenuButtons    = new List <ToolTileButton>();

            listTextures          = _listTextures;
            textureMenuOpen       = _textureMenuOpen;
            textureMenuClosed     = _textureMenuClosed;
            rectangleMenuOpen     = new Rectangle(0, 0, textureMenuOpen.Width, textureMenuOpen.Height);
            rectangleMenuClosed   = new Rectangle(0, 0, textureMenuClosed.Width, textureMenuClosed.Height);
            tileSelectionMenuShow = false;
            ignoredAreas.Add(rectangleMenuClosed);

            // Isolates the button textures and assigns them to listTileButtons
            foreach (var _buttonTexture in listTextures)
            {
                if (_buttonTexture.ToString().Substring(14).Contains("ButtonTile"))
                {
                    listButtonTextures.Add(_buttonTexture);
                }
            }

            // Creates buttons and assigns them to a list
            tileTextureIndex = 0;
            foreach (var _texture in listTextures)
            {
                if (_texture.ToString().Contains("Walls"))
                {
                    if (_texture.ToString().Substring(12).Contains("1x1") ||
                        _texture.ToString().Substring(_texture.ToString().Length - 1).Contains("A"))
                    {
                        listMenuButtons.Add(new ToolTileButton(tileTextureIndex++, listButtonTextures, _texture));
                        Console.WriteLine(_texture.ToString());
                    }
                }
            }

            tileTextureIndex = listTextures.FindIndex(a => a.ToString().Substring(13).Contains("1x1") ||
                                                      a.ToString().Substring(a.ToString().Length - 1).Contains("A"));
            selectedTileTexture = listTextures[tileTextureIndex];

            if (selectedTileTexture.ToString().Contains("Rock"))
            {
                tileOffset       = new Vector2(0, 0);
                selectedTileType = EditorManager.L2TileType.RockS;
            }
            else
            {
                selectedTileType = EditorManager.L2TileType.Default;
            }
        }
Ejemplo n.º 2
0
        public L2Tile(EditorManager.L2TileType _tileType, Vector2 _tilePosition, bool _passable, string _textureID, int _textureHeight)
        {
            tileType = _tileType;

            /*if (tileType == EditorManager.L2TileType.RockS)
             *  tileOffset = new Vector2(0, 0);
             * else if (tileType == EditorManager.L2TileType.RockM)
             *  tileOffset = new Vector2(0, -75);
             * else if (tileType == EditorManager.L2TileType.RockL)
             *  tileOffset = new Vector2(0, -260);
             * else
             *  tileOffset = new Vector2(0, 0);*/
            tileOffset = new Vector2(0, -1 * _textureHeight + 40);

            tilePosition = _tilePosition;
            passable     = _passable;
            textureID    = _textureID;
        }
Ejemplo n.º 3
0
        // Tile selection for increasing or decreasing the tile size
        public void TileSelection(String _changeSize)
        {
            // Handles enlarging and shrinking of tiles
            switch (_changeSize)
            {
            // Increase tile size
            case "BIGGER":
                if (!selectedTileTexture.ToString().Contains("4x4") &&
                    !selectedTileTexture.ToString().Substring(selectedTileTexture.ToString().Length - 1).Contains("C"))
                {
                    try
                    {
                        selectedTileTexture = listTextures[tileTextureIndex + 1];
                        tileTextureIndex++;

                        selectedTileType = (EditorManager.L2TileType)(int) selectedTileType++;
                        tileOffset       = new Vector2(0, -selectedTileTexture.Height + 40);
                    }
                    catch { }
                }
                break;

            // Decrease tile size
            case "SMALLER":
                if (!selectedTileTexture.ToString().Contains("1x1") &&
                    !selectedTileTexture.ToString().Substring(selectedTileTexture.ToString().Length - 1).Contains("A"))
                {
                    try
                    {
                        selectedTileTexture = listTextures[tileTextureIndex - 1];
                        tileTextureIndex--;

                        selectedTileType = selectedTileType--;
                        tileOffset       = new Vector2(0, -selectedTileTexture.Height + 40);
                    }
                    catch { }
                }
                break;
            }
        }
Ejemplo n.º 4
0
        // Tile selection from menu
        public void TileSelection(MouseState _mouseState, Vector2 _mousePosition)
        {
            foreach (ToolTileButton _button in listMenuButtons)
            {
                if (_mousePosition.X >= _button.GetButtonBoundaries().Left&&
                    _mousePosition.X <= _button.GetButtonBoundaries().Right&&
                    _mousePosition.Y >= _button.GetButtonBoundaries().Top&&
                    _mousePosition.Y <= _button.GetButtonBoundaries().Bottom&&
                    _mouseState.LeftButton == ButtonState.Pressed &&
                    tileSelectionMenuShow)
                {
                    selectedTileTexture = _button.ButtonTileTexture;
                    tileTextureIndex    = listTextures.FindIndex(a => a.ToString().Contains(_button.ButtonTileTexture.ToString()));
                    if (selectedTileTexture.ToString().Contains("RockA") ||
                        selectedTileTexture.ToString().Substring(selectedTileTexture.ToString().Length - 1).Contains("A"))
                    {
                        selectedTileType = EditorManager.L2TileType.RockS;
                    }

                    tileOffset = new Vector2(0, -1 * selectedTileTexture.Height + 40);
                }
            }
        }
Ejemplo n.º 5
0
 // Constructor for when loading tiles
 public L2Tile()
 {
     tileType = EditorManager.L2TileType.Default;
     passable = true;
 }