void PTile(CustomTile _copy) { Tilemap toPlace = null; Tilemap toRemove = null; DictionaryType _type = DictionaryType.Walls; switch (_copy.Type) { case TileType.Wall: toPlace = WallGen.GetTilemap(); toRemove = DungeonUtility.GetTilemap(); _type = DictionaryType.Walls; break; case TileType.Floor: toPlace = DungeonUtility.GetTilemap(); toRemove = DungeonUtility.GetTilemap(); _type = DictionaryType.Floor; break; case TileType.Path: toPlace = DungeonUtility.GetTilemap(); toRemove = DungeonUtility.GetTilemap(); _type = DictionaryType.Floor; break; } int id = 0; for (int a = 0; a < TileManager.GetTileHolder(_copy.Type).Tiles.Count; ++a) { if (TileManager.GetTileHolder(_copy.Type).Tiles[a].ID == _copy.ID) { _copy = TileManager.GetTileHolder(_copy.Type).Tiles[a]; id = TileManager.GetTileHolder(_copy.Type).Tiles[a].ID; } } TileManager.PlaceTile(m_placePos, m_index, toRemove, toPlace, _copy, _type); ApplySpriteVariation(_copy, toPlace, m_placePos); Instantiate(m_audioPlaceSource); if (!m_manager.Creative && BackPack.GetStorageTypeCount(_copy) > 0) { BackPack.RemoveItem(_copy.Item); if (BackPack.GetNewItem(_copy) != null) { _copy.Item = Instantiate(BackPack.GetNewItem(_copy)); } } DataToSave tempData = new DataToSave { Position = new Vector2Int(m_placePos.x, m_placePos.y), ID = id }; m_fileManager.Input(tempData); }