// protected TMainSceneRefBase MainSceneRef => _MainSceneRef; #endregion #region Development #if UNITY_EDITOR private void OnValidate() { if (!_Config) { Debug.Log("Config is empty. Trying to find it in Assets."); _Config = FindAllObjects.InEditor <TConfig>().FirstOrDefault(); if (_Config) { Debug.Log($"Found a Config at {AssetDatabase.GetAssetPath(_Config)}"); } else { Debug.LogError("Can't find Config for game. Please create one."); } } if (!_SceneLevelManager) { Debug.Log("SceneLevelManager is empty. Trying to find it in Assets."); _SceneLevelManager = FindAllObjects.InEditor <SceneLevelManager>().FirstOrDefault(); if (_SceneLevelManager) { Debug.Log($"Found a SceneLevelManager at {AssetDatabase.GetAssetPath(_SceneLevelManager)}"); } else { Debug.LogError("Can't find SceneLevelManager for game. Create one."); } } }
private void AddComponentNamesInScene() { foreach (var gObject in FindAllObjects.InScene <GameObject>()) { RenameGameObject(gObject); } }
private static void CheckLevelEnterPlayModeForLoadingMainScene() { if (!ProjectEditorConfig.Instance.AutoTestLevelScenes) { return; } // No game exists var game = FindAllObjects.InScene <GameBase>().FirstOrDefault(); if (game) { return; } // Found level helper var sceneRef = FindAllObjects.InScene <LevelSceneRefBase>(); if (sceneRef.Length <= 0) { return; } ManagedLog.Log($"Loading main scene to test {SceneManager.GetActiveScene().name}"); var testingScene = AssetDatabase.LoadAssetAtPath <SceneAsset>(SceneManager.GetActiveScene().path); GameWindow.TestLevel = AssetDatabase.LoadAssetAtPath <SceneAsset>(SceneManager.GetActiveScene().path); _asyncOperation = EditorSceneManager.LoadSceneAsyncInPlayMode(GameWindow.MainSceneAssetPath, new LoadSceneParameters(LoadSceneMode.Single)); _asyncOperation.completed += OnloadComplete; void OnloadComplete(AsyncOperation obj) { game = FindAllObjects.InScene <GameBase>().FirstOrDefault(); _asyncOperation.completed -= OnloadComplete; Assert.IsNotNull(game); #if USING_SHAPES WorldLog.OnScreen($"Testing {testingScene.name}"); #endif new Operation(delay: 1f, action: () => { game.StartGame(); }).Start(); } }
private void ReplaceTmpTextString(string searchFor, string replaceWith) { var textMeshProUGuis = FindAllObjects.InScene <TMP_Text>(); var changed = new List <TMP_Text>(); foreach (var textMeshProUgui in textMeshProUGuis.Where(ugui => ugui.text.Contains(searchFor))) { textMeshProUgui.text = textMeshProUgui.text.Replace(searchFor, replaceWith); changed.Add(textMeshProUgui); EditorUtility.SetDirty(textMeshProUgui); } Debug.Log($"Replaced {changed.Count} names!"); EditorSceneManager.MarkSceneDirty(SceneManager.GetActiveScene()); Selection.objects = changed.Select(ugui => ugui.gameObject).ToArray(); }
private void ReplaceImageColors(Color searchFor, Color replaceWith) { var images = FindAllObjects.InScene <Image>(); Undo.RecordObjects(images, "Replace Colors"); var changed = new List <Image>(); foreach (var image in images.Where(image => image.color == searchFor)) { image.color = replaceWith; Debug.Log($"Replacing {image.name} sprite"); changed.Add(image); } Debug.Log($"Replaced {changed.Count} sprites!"); }
private void ReplaceNameString(string searchFor, string replaceWith) { var gameObjects = FindAllObjects.InScene <GameObject>(); Undo.RecordObjects(gameObjects, "ReplaceNameString"); var changed = new List <GameObject>(); foreach (var image in gameObjects.Where(go => go.name.Contains(searchFor))) { image.name = image.name.Replace(searchFor, replaceWith); changed.Add(image); } Debug.Log($"Replaced {changed.Count} names!"); Selection.objects = changed.ToArray(); }
private void ReplaceTmpTextColors(Color searchFor, Color replaceWith) { var texts = FindAllObjects.InScene <TextMeshProUGUI>(); Undo.RecordObjects(texts, "Replace TMP Text Colors"); var changed = new List <TextMeshProUGUI>(); foreach (var text in texts.Where(text => text.color == searchFor)) { text.color = replaceWith; Debug.Log($"Replacing {text.name} text"); changed.Add(text); } Debug.Log($"Replaced {changed.Count} texts!"); }
private void ReplaceImageSprite(Sprite searchFor, Sprite replaceWith) { var images = FindAllObjects.InScene <Image>(); Undo.RecordObjects(images, "Replace Sprites"); var changedImages = new List <Image>(); foreach (var image in images.Where(spriteRenderer => spriteRenderer.sprite == searchFor)) { image.sprite = replaceWith; Debug.Log($"Replacing {image.name} sprite"); changedImages.Add(image); } Debug.Log($"Replaced {changedImages.Count} sprites!"); Selection.objects = changedImages.ToArray(); }