Exemplo n.º 1
0
        public void Reset()
        {
            for (int i = 0; i < tiles.Count; i++)
            {
                FileSelectorTile tile = tiles[i];

                GameObjectPool pool;
                if (tile.IsDirectory)
                {
                    pool = ObjectPoolManager.Instance.GetPool <GameObjectPool>(prefabData.DirectoryPrefabName);
                }
                else
                {
                    pool = ObjectPoolManager.Instance.GetPool <GameObjectPool>(tile.CachedPrefabName);
                }

                tile.Reset();

                if (pool != null)
                {
                    pool.Return(tile.gameObject);
                }
                else
                {
                    GameObject.Destroy(tile.gameObject);
                }
            }
            tiles.Clear();
            tiledPage.Tiles = null;
            IsInTransition  = false;
        }
Exemplo n.º 2
0
        public FileSelectorTile AddDirectoryTile(DirectoryInfo directory)
        {
            FileSelectorTile tile = AddTile(prefabData.DirectoryPrefab, prefabData.DirectoryPrefabName);

            tile.SetToDirectory(directory);
            return(tile);
        }
Exemplo n.º 3
0
        /// fileIndex is NOT the index on the page. It is the index in the directory.
        public FileSelectorTile AddFileTile(FileInfo file, int fileIndex)
        {
            StringBuilder displayName, extension;

            StringHelpers.GetNameWithoutExtension(file, out displayName, out extension);
            string           extensionString = extension.ToString();
            GameObject       prefab          = prefabData.GetPrefabForExtension(extensionString);
            string           prefabName      = prefabData.GetPrefabNameForExtension(extensionString);
            FileSelectorTile tile            = AddTile(prefab, prefabName);

            tile.SetToFile(displayName, file, prefabName, fileIndex);
            return(tile);
        }
Exemplo n.º 4
0
        private FileSelectorTile AddTile(GameObject prefab, string poolName)
        {
            GameObjectPool pool       = GetPool(prefab, poolName);
            GameObject     tileObject = pool.Borrow();

            tileObject.transform.SetParent(layoutGroup.transform, false);
            tileObject.transform.SetSiblingIndex(tiles.Count);

            FileSelectorTile tile = tileObject.GetComponent <FileSelectorTile>();

            Assert.IsNotNull(tile);
            tiles.Add(tile);
            MarkTilesDirty();
            return(tile);
        }