/**
         * Sets up the scene's chosen NavigationEngine ScriptableObject if it is not already present.
         */
        public void ResetEngine()
        {
            string className = "";

            if (KickStarter.sceneSettings.navigationMethod == AC_NavigationMethod.Custom)
            {
                className = KickStarter.sceneSettings.customNavigationClass;
            }
            else
            {
                className = "NavigationEngine_" + KickStarter.sceneSettings.navigationMethod.ToString();
            }

            if (className == "" && Application.isPlaying)
            {
                ACDebug.LogWarning("Could not initialise navigation - a custom script must be assigned if the Pathfinding method is set to Custom.");
            }
            else if (navigationEngine == null || !navigationEngine.ToString().Contains(className))
            {
                navigationEngine = (NavigationEngine)ScriptableObject.CreateInstance(className);
                if (navigationEngine != null)
                {
                    navigationEngine.OnReset(KickStarter.sceneSettings.navMesh);
                }
            }
        }
Exemplo n.º 2
0
        public void ResetEngine()
        {
            if (GetComponent <SceneSettings>())
            {
                string className = "NavigationEngine_" + GetComponent <SceneSettings>().navigationMethod.ToString();

                if (navigationEngine == null || !navigationEngine.ToString().Contains(className))
                {
                    navigationEngine = (NavigationEngine)ScriptableObject.CreateInstance(className);
                    navigationEngine.Awake();
                }
            }
        }