예제 #1
0
        public override void Populate()
        {
            var txtFileLines = File.ReadAllLines(Install.GetPath("floors.txt"));
            var typeNames = txtFileLines[1].Split(Separators);

            for (int i = 2; i < txtFileLines.Length; i++)
            {
                var infos = txtFileLines[i].Split('\t');
                var category = new TileCategory();
                category.Name = infos.Last();
                
                var style = new TileStyle();
                category.AddStyle(style);

                for (int j = 1; j < typeNames.Length-2; j++)
                {
                    if(infos[j]!="0")
                    {
                        var tile = new TileFloor {Id = short.Parse(infos[j])};
                        style.AddTile(tile);
                        tile.ChangeFloorPosition(j);
                    }
                }
                Categories.Add(category);
            }
        }
예제 #2
0
        private void ButtonAddTile_Click(object sender, RoutedEventArgs e)
        {
            var category = DataCategory.SelectedItem as TileCategory;
            var id = ListData.SelectedIndex;
            var style = DataStyle.SelectedItem as TileStyle;
            if(style == null)
            {
                style = new TileStyle();
                category.AddStyle(style);
            }
            if (ComboEnum.SelectedItem == null)
                return;
            switch ((TilesInfo.Components.Enums.Type)ComboEnum.SelectedItem)
            {
                case Type.Wall:
                    {
                        var tile = new TileWall();
                        tile.Id = (short)id;
                      style.AddTile(tile);

                        break;
                    }
                case Type.Roofs:
                    {
                        var tile = new TileRoof();
                        tile.Id = (short)id;
                        style.AddTile(tile);
                        break;
                    }
                case Type.Floor:
                    {
                        var tile = new TileFloor();
                        tile.Id = (short)id;
                        style.AddTile(tile);
                        break;
                    }
                case Type.Misc:
                    {
                        var tile = new TileMisc();
                        tile.Id = (short)id;
                        style.AddTile(tile); 
                        break;
                    }
                default:
                    {
                        var tile = new Tile();
                        tile.Id = (short)id;
                        style.AddTile(tile);
                        break;
                    }
            }

            DataRefresh();
        }