Esempio n. 1
0
        // 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.");
                }
            }
        }
Esempio n. 2
0
 private void AddComponentNamesInScene()
 {
     foreach (var gObject in FindAllObjects.InScene <GameObject>())
     {
         RenameGameObject(gObject);
     }
 }
Esempio n. 3
0
        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();
            }
        }
Esempio n. 4
0
        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();
        }
Esempio n. 5
0
        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!");
        }
Esempio n. 6
0
        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();
        }
Esempio n. 7
0
        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!");
        }
Esempio n. 8
0
        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();
        }