Exemple #1
0
        public static void ActivatePreviousPrefabInPrefabCategory(PrefabCategory prefabCategory)
        {
            List <Prefab> filteredPrefabs = prefabCategory.GetFilteredPrefabs();

            int prefabIndex = prefabCategory.GetPrefabIndex(prefabCategory.ActivePrefab) - 1;

            if (prefabIndex < 0)
            {
                prefabIndex = prefabCategory.NumberOfPrefabs - 1;
            }

            while (prefabIndex >= 0)
            {
                Prefab newActivePrefab = prefabCategory.GetPrefabByIndex(prefabIndex);
                if (filteredPrefabs.Contains(newActivePrefab))
                {
                    prefabCategory.SetActivePrefab(newActivePrefab);
                    return;
                }

                --prefabIndex;
            }

            prefabCategory.SetActivePrefab(null);
        }