Example #1
0
        public LayerData AddLayer(Transform parent, string name)
        {
            LayerData newLayer = new LayerData(parent, name, Width, Height);

            Layers.Add(newLayer);
            return(newLayer);
        }
Example #2
0
 public void DestroyAndRemoveLayer(LayerData removeMe)
 {
     if (removeMe != null)
     {
         removeMe.DestroyAllAndClear();
     }
     Layers.Remove(removeMe);
 }
Example #3
0
 public void New()
 {
     clearAllLayer();
     addLayer();
     SelectedLayer = Layers[0];
     ResetGridSize();
     //LayerPanel.RefreshUI();
 }
Example #4
0
 public void RemoveSelectedLayer()
 {
     if (SelectedLayer != null)
     {
         SelectedLayer.LayerTransform.gameObject.Destroy();
         Layers.Remove(SelectedLayer);
         SelectedLayer = null;
     }
 }
Example #5
0
        LayerData addLayer(Transform parent, string name, int tileHeight, int tileWidth)
        {
            LayerData newLayer = new LayerData(parent, name, mapDimension.X, mapDimension.Y);

            newLayer.TileHeight = tileHeight;
            newLayer.TileWidth  = tileWidth;
            Layers.Add(newLayer);
            return(newLayer);
        }
        public void CanAddTileTypeWithoutPrefab()
        {
            LayerData ld = new LayerData(null, "SuperLayer", 1, 1);
            TileType type = new TileType(1);
            Point2 position = new Point2(0, 0);

            bool result = ld.AddTile(position, type);

            Assert.IsTrue(result);
            Assert.IsNotNull(ld[position]);
        }
 public void bob()
 {
     LayerData layer = new LayerData(null, "Layer", 2, 2);
     ArchitectTilePositionGetter tilePosition = new ArchitectTilePositionGetter(Vector3.zero, layer);
     TileType type = new TileType(5);
     ArchitectRotationFlip rotation = new ArchitectRotationFlip(90, false, false);
     BrushCommand brush = new BrushCommand(tilePosition, type, rotation);
     bool done = brush.Do();
     Debug.Log(done);
     Assert.IsTrue(done);
 }
Example #8
0
        public void Open(string path)
        {
            OpenFileBrowser.gameObject.SetActive(false);
            clearAllLayer();
            var layers = WorldOpener.OpenFile(Linker, path, MapParent);

            mapDimension = new Point2(layers[0].LayerWidth, layers[0].LayerHeight);
            Layers.AddRange(layers);
            SelectedLayer = layers[0];
            //LayerPanel.RefreshUI();
            ResetGridSize();
        }
        public void CanAddTileTypeWithPrefab()
        {
            LayerData ld = new LayerData(null, "SuperLayer", 1, 1);
            GameObject go = new GameObject("TestGo");
            TileType type = new TileType(1,go);
            Point2 position = new Point2(0, 0);

            bool result = ld.AddTile(position, type);

            Assert.IsTrue(result);
            Assert.IsNotNull(ld[position]);
            Assert.IsNotNull(ld[position].GameObject);
        }
Example #10
0
 public ArchitectTilePositionGetter(Vector3 position, LayerData selectedLayer)
 {
     layer = selectedLayer;
     if (selectedLayer == null)
     {
         Clear();
         Valid = false;
     }
     else
     {
         Vector3 TileP = position.Div(new Vector3(selectedLayer.TileWidth, selectedLayer.TileHeight, 1)).Round().SetValues(0, Axes.Z);
         tilePosition     = new Point2((int)TileP.x, (int)TileP.y);
         tileWorlPosition = TileP.Mult(new Vector3(selectedLayer.TileWidth, selectedLayer.TileHeight, 1));
         Valid            = layer.IsInLayerBound(tilePosition.X, tilePosition.Y);
     }
 }
 public ArchitectTilePositionGetter(Vector3 position, LayerData selectedLayer)
 {
     layer = selectedLayer;
     if (selectedLayer == null)
     {
         Clear();
         Valid = false;
     }
     else
     {
         Vector3 TileP = position.Div(new Vector3(selectedLayer.TileWidth, selectedLayer.TileHeight, 1)).Round().SetValues(0, Axes.Z);
         tilePosition = new Point2((int)TileP.x, (int)TileP.y);
         tileWorlPosition = TileP.Mult(new Vector3(selectedLayer.TileWidth, selectedLayer.TileHeight, 1));
         Valid = layer.IsInLayerBound(tilePosition.X, tilePosition.Y);
     }
 }
Example #12
0
 private void readLayerLine(LayerData layer, int y, int lineWidth)
 {
     for (int x = 0; x < lineWidth; x++)
     {
         int      value         = readNextInt();
         int      id            = ArchitectRotationHandler.RemoveRotationFlags(value);
         int      rotationFlags = ArchitectRotationHandler.GetRotationFlags(value);
         Point2   position      = new Point2(x, y);
         TileType tileType      = null;
         if (id == 0)
         {
             continue;
         }
         tileType = linker.Tilesets[0][id - 1];
         layer.AddTile(position, tileType, rotationFlags);
     }
 }
Example #13
0
        private LayerData readLayer()
        {
            string name = currentLine.Substring(6);

            nextLine();
            currentColIndex = indexOfNext(':') + 1;


            int       mapWidth  = readNextInt();
            int       mapHeight = readNextInt();
            LayerData layer     = new LayerData(mapParent, name, mapWidth, mapHeight);

            for (int y = 0; y < mapHeight; y++)
            {
                nextLine();
                readLayerLine(layer, mapHeight - y - 1, mapWidth);
            }
            return(layer);
        }
Example #14
0
        public void Init(LayerData layerData, Transform parent, UnityAction switchLayerAction)
        {
            LayerData = layerData;

            LayerNameText.text = layerData.Name;
            NameChangeText.text = layerData.Name;

            RectTransform trans = GetComponent<RectTransform>();
            trans.SetParent(parent,false);

            LayerButton.onClick.AddListener(switchLayerAction);

            NameChangeInput.gameObject.SetActive(false);
            EditButton.onClick.AddListener(() => EditButtonClicked());

            NameChangeInput.onEndEdit.AddListener((text) => stopWriting(text));

            ShowHideToggle.onValueChanged.AddListener((selected) => toggleView(selected));

            TextDoubleClick.OnDoubleClick.AddListener(() => EditButtonClicked());
        }
Example #15
0
        public LayerData Clone()
        {
            LayerData newLayer = (LayerData)MemberwiseClone();

            newLayer.tiles = new TileData[LayerWidth * LayerHeight];
            newLayer.tiles.Fill(TileData.Empty);

            GameObject newLayerGameObject = new GameObject(LayerTransform.name + " Copie");

            newLayerGameObject.transform.parent = LayerTransform.parent;
            newLayer.LayerTransform             = newLayerGameObject.transform;

            for (int y = 0; y < LayerHeight; y++)
            {
                for (int x = 0; x < LayerWidth; x++)
                {
                    newLayer.AddTile(new Point2(x, y), this[x, y]);
                }
            }
            return(newLayer);
        }
Example #16
0
 private void addLayer(LayerData layer)
 {
     fileContent += "Layer:" + layer.LayerTransform.name + "\n";
     fileContent += "Dimension:" + layer.LayerWidth + "," + layer.LayerHeight + ",\n";
     for (int y = layer.LayerHeight - 1; y >= 0; y--)
     {
         for (int x = 0; x < layer.LayerWidth; x++)
         {
             TileType tileType = layer[x, y].TileType;
             if (!tileType.IsNullOrIdZero())
             {
                 int rotationFlag = (int)ArchitectRotationHandler.getRotationFlipFlags(layer[x, y].Transform);
                 int id = rotationFlag + layer[x, y].TileType.Id;
                 fileContent += id + ",";
             }
             else
                 fileContent += 0 + ",";
         }
         fileContent += "\n";
     }
 }
Example #17
0
        public void Init(LayerData layerData, Transform parent, UnityAction switchLayerAction)
        {
            LayerData = layerData;

            LayerNameText.text  = layerData.Name;
            NameChangeText.text = layerData.Name;

            RectTransform trans = GetComponent <RectTransform>();

            trans.SetParent(parent, false);

            LayerButton.onClick.AddListener(switchLayerAction);

            NameChangeInput.gameObject.SetActive(false);
            EditButton.onClick.AddListener(() => EditButtonClicked());

            NameChangeInput.onEndEdit.AddListener((text) => stopWriting(text));

            ShowHideToggle.onValueChanged.AddListener((selected) => toggleView(selected));

            TextDoubleClick.OnDoubleClick.AddListener(() => EditButtonClicked());
        }
Example #18
0
 private void addLayer(LayerData layer)
 {
     fileContent += "Layer:" + layer.LayerTransform.name + "\n";
     fileContent += "Dimension:" + layer.LayerWidth + "," + layer.LayerHeight + ",\n";
     for (int y = layer.LayerHeight - 1; y >= 0; y--)
     {
         for (int x = 0; x < layer.LayerWidth; x++)
         {
             TileType tileType = layer[x, y].TileType;
             if (!tileType.IsNullOrIdZero())
             {
                 int rotationFlag = (int)ArchitectRotationHandler.getRotationFlipFlags(layer[x, y].Transform);
                 int id           = rotationFlag + layer[x, y].TileType.Id;
                 fileContent += id + ",";
             }
             else
             {
                 fileContent += 0 + ",";
             }
         }
         fileContent += "\n";
     }
 }
Example #19
0
 public void DestroyAndRemoveLayer(LayerData removeMe)
 {
     if(removeMe != null)
         removeMe.DestroyAllAndClear();
     Layers.Remove(removeMe);
 }
Example #20
0
 public LayerData AddLayer(Transform parent, string name)
 {
     LayerData newLayer = new LayerData(parent, name, Width, Height);
     Layers.Add(newLayer);
     return newLayer;
 }
Example #21
0
 public void Open(string path)
 {
     OpenFileBrowser.gameObject.SetActive(false);
     clearAllLayer();
     var layers = WorldOpener.OpenFile(Linker, path, MapParent);
     mapDimension = new Point2(layers[0].LayerWidth, layers[0].LayerHeight);
     Layers.AddRange(layers);
     SelectedLayer = layers[0];
     //LayerPanel.RefreshUI();
     ResetGridSize();
 }
Example #22
0
        public void DuplicateSelectedLayer()
        {
            LayerData newLayer = SelectedLayer.Clone();

            Layers.Insert(SelectedIndex, newLayer);
        }
Example #23
0
 public void RemoveSelectedLayer()
 {
     if (SelectedLayer != null)
     {
         SelectedLayer.LayerTransform.gameObject.Destroy();
         Layers.Remove(SelectedLayer);
         SelectedLayer = null;
     }
 }
Example #24
0
        /*public void setSelectedTile(int id)
         * {
         *      SelectedTileType = Linker.Tilesets[0].Tiles[id - 1];
         * }
         *
         * public void AddSelectedTileType(LayerData layer, Vector3 worldP, Point2 tilePoint)
         * {
         *      layer.AddTile(tilePoint, toolControler.SelectedTileType, toolControler.RotationFlip);
         * }*/

        /*public void AddTile(LayerData layer, Vector3 worldP, Point2 tilePoint, TileType tileType)
         * {
         *      layer.AddTile(tilePoint, tileType, toolControler.RotationFlip);
         * }*/

        public void AddTile(LayerData layer, Vector3 worldP, Point2 tilePoint, TileType tileType, ArchitectRotationFlip RotationFlip)
        {
            layer.AddTile(tilePoint, tileType, RotationFlip);
        }
Example #25
0
 LayerData addLayer(Transform parent, string name, int tileHeight, int tileWidth)
 {
     LayerData newLayer = new LayerData(parent, name, mapDimension.X, mapDimension.Y);
     newLayer.TileHeight = tileHeight;
     newLayer.TileWidth = tileWidth;
     Layers.Add(newLayer);
     return newLayer;
 }
Example #26
0
        /*public void setSelectedTile(int id)
        {
            SelectedTileType = Linker.Tilesets[0].Tiles[id - 1];
        }

        public void AddSelectedTileType(LayerData layer, Vector3 worldP, Point2 tilePoint)
        {
            layer.AddTile(tilePoint, toolControler.SelectedTileType, toolControler.RotationFlip);
        }*/
        /*public void AddTile(LayerData layer, Vector3 worldP, Point2 tilePoint, TileType tileType)
        {
            layer.AddTile(tilePoint, tileType, toolControler.RotationFlip);
        }*/
        public void AddTile(LayerData layer, Vector3 worldP, Point2 tilePoint, TileType tileType, ArchitectRotationFlip RotationFlip)
        {
            layer.AddTile(tilePoint, tileType, RotationFlip);
        }
 public void RemoveLayerData(LayerData removeMe)
 {
     MapData.DestroyAndRemoveLayer(removeMe);
     if (OnMapDataChanged != null)
         OnMapDataChanged(MapData);
 }
Example #28
0
        private void readLayerLine(LayerData layer, int y, int lineWidth)
        {
            for (int x = 0; x < lineWidth; x++)
            {
                int value = readNextInt();
                int id = ArchitectRotationHandler.RemoveRotationFlags(value);
                int rotationFlags = ArchitectRotationHandler.GetRotationFlags(value);
                Point2 position = new Point2(x, y);
                TileType tileType = null;
                if (id == 0)
                    continue;
                tileType = linker.Tilesets[0][id - 1];
                layer.AddTile(position, tileType, rotationFlags);

            }
        }
Example #29
0
        private LayerData readLayer()
        {
            string name = currentLine.Substring(6);
            nextLine();
            currentColIndex = indexOfNext(':') + 1;

            int mapWidth = readNextInt();
            int mapHeight = readNextInt();
            LayerData layer = new LayerData(mapParent, name, mapWidth, mapHeight);

            for (int y = 0; y < mapHeight; y++)
            {
                nextLine();
                readLayerLine(layer, mapHeight - y - 1, mapWidth);
            }
            return layer;
        }
Example #30
0
 public void New()
 {
     clearAllLayer();
     addLayer();
     SelectedLayer = Layers[0];
     ResetGridSize();
     //LayerPanel.RefreshUI();
 }