Example #1
0
        public void Switch()
        {
            foreach (string objectName in objectsToDeactivate)
            {
                GameObject gameObject = DoFind(objectName);
                if (gameObject != null)
                {
                    SeamlessSceneLoader loader = gameObject.GetComponentInChildren <SeamlessSceneLoader>();
                    if (loader != null)
                    {
                        loader.Unload();
                    }

                    gameObject.SetActive(false);
                }
            }

            foreach (string objectName in objectsToActivate)
            {
                GameObject gameObject = DoFind(objectName);
                if (gameObject != null)
                {
                    gameObject.SetActive(true);
                }
            }

            for (int i = 0; i < charactersToBan.Length; i++)
            {
                BehaviorTreeController character = charactersToBan[i];
                if (character.isActiveAndEnabled)
                {
                    character.TeleportToBan(ban, Vector3.forward * i);
                }
            }
        }
Example #2
0
        private void Deactivate()
        {
            if (sceneToUnload != null)
            {
                sceneController.RemoveSeamlessScene(sceneToUnload);
            }

            foreach (string objectName in objectsToDeactivate)
            {
                GameObject gameObject = SceneGraphSearch.Find(objectName);
                if (gameObject != null)
                {
                    SeamlessSceneLoader loader = gameObject.GetComponentInChildren <SeamlessSceneLoader>();
                    if (loader != null)
                    {
                        loader.Unload();
                    }

                    gameObject.SetActive(false);
                }
            }
        }