/// <summary> /// Looks for the relevant references when adding this script to the scene/using the Reset option /// </summary> void Reset() { // TerrainLoader = FindObjectOfType<TerrainLoader>(); ExerciseConnection = FindObjectOfType<ExerciseConnection>(); NightLoader = FindObjectOfType<NightLoader>(); TerrainLoaderFull = FindObjectOfType<TerrainLoader_Full>(); TerrainLoaderDynamic = FindObjectOfType<TerrainLoader_Dynamic>(); SetEditorConfig(true, new Configuration() { ExerciseId = ExerciseConnection ? ExerciseConnection.exerciseId : 0, FullTerrain = true, ImprovedTerrain = TerrainLoaderFull.ImprovedTerrain, ImprovedTerrainBundlePath = TerrainLoaderFull.ImprovedTerrainBundlePath, LoadingRadius = TerrainLoaderDynamic.DynamicLoadingRadius, NightMode = NightLoader.Mode.DayOnly, OriginalsBundlePath = TerrainLoaderDynamic.TerrainOriginalsBundlePath, TerrainPath = TerrainLoaderFull.TerrainBundlePath }); }
private void Update() { //if (!AutoSwitchMode) //{ if (NightLoader == null) { NightLoader = FindObjectOfType <NightLoader>(); } if (GlobalInputListener.GetKeyDown(ModeSwitchKey) && NightLoader.NightAvailable) { NightLoader.SwitchMode(); if (NightLoader.IsDay) { SendEventReport(EnterExitTermicStruct.Action.EXIT_TERMIC); } else { SendEventReport(EnterExitTermicStruct.Action.ENTER_TERMIC); } } //} }
override protected void ApplyConfiguration(bool GotConfiguration) { //Try finding references if (!ExerciseConnection) ExerciseConnection = FindObjectOfType<ExerciseConnection>(); if (!NightLoader) NightLoader = FindObjectOfType<NightLoader>(); if (!TerrainLoaderFull) TerrainLoaderFull = FindObjectOfType<TerrainLoader_Full>(); if (!TerrainLoaderDynamic) TerrainLoaderDynamic = FindObjectOfType<TerrainLoader_Dynamic>(); //Load command line arguments as overrides PutArg("FullTerrain", ref Config.FullTerrain, "FullTerrain"); PutArg("LoadingRadius", ref Config.LoadingRadius, "LoadingRadius"); PutArg("ImprovedTerrain", ref Config.ImprovedTerrain, "ImprovedTerrain"); PutArg("TerrainPath", ref Config.TerrainPath, "TerrainPath"); PutArg("NavMeshBundlePath", ref Config.TerrainPath, "NavMeshBundlePath"); PutArg("ImprovedTerrainBundlePath", ref Config.ImprovedTerrainBundlePath, "ImprovedTerrainBundlePath"); PutArg("ExerciseId", ref Config.ExerciseId, "ExerciseId"); PutArg("NightMode", ref Config.NightMode, EnumParser<NightLoader.Mode>(), "NightMode"); //forces improved terrain on TerrainName if (GotConfiguration && null != Config.TerrainPath) { string lowerTerrainPath = Config.TerrainPath.ToLower(); if (lowerTerrainPath.Contains("terrainname")) Config.ImprovedTerrain = true; } //Apply ExerciseId if (ExerciseConnection) TryApplyTo(Config.ExerciseId, ref ExerciseConnection.exerciseId, "ExerciseId"); //Override if in editor if (Application.isEditor) Config.FullTerrain = FullTerrain; //Apply terrain values, destroy the loader that wasn't picked if (Config.FullTerrain) { Destroy(TerrainLoaderDynamic); TerrainLoader.Instance = TerrainLoaderFull; TryApplyTo(Config.ImprovedTerrain, ref TerrainLoaderFull.ImprovedTerrain, "ImprovedTerrain"); } else { Destroy(TerrainLoaderFull); TerrainLoader.Instance = TerrainLoaderDynamic; TryApplyTo(Config.LoadingRadius, ref TerrainLoaderDynamic.DynamicLoadingRadius, "LoadingRadius"); TryApplyTo(Config.ImprovedTerrain, ref TerrainLoaderDynamic.ImprovedTerrain, "ImprovedTerrain"); } //apply NightMode, add "_night" to terrain path if (NightLoader && WasConfigured("NightMode")) { /*switch (Config.NightMode) { case "DayOnly": { NightLoader.NightLoadingMode = NightLoader.Mode.DayOnly; break; } case "NightOnly": { if (!Config.TerrainPath.EndsWith("_night")) Config.TerrainPath += "_night"; NightLoader.NightLoadingMode = NightLoader.Mode.NightOnly; break; } case "Dual": { NightLoader.NightLoadingMode = NightLoader.Mode.Dual; break; } }*/ NightLoader.NightLoadingMode = Config.NightMode; } //Apply paths if (TerrainLoader.Instance) { TryApplyTo(Config.TerrainPath, ref TerrainLoader.Instance.TerrainBundlePath, "TerrainPath"); TryApplyTo(Config.NavMeshBundlePath, ref TerrainLoader.Instance.NavMeshBundlePath, "NavMeshBundlePath"); TryApplyTo(Config.ImprovedTerrainBundlePath, ref TerrainLoader.Instance.ImprovedTerrainBundlePath, "ImprovedTerrainBundlePath"); if (!Config.FullTerrain) { PutArg("OriginalsBundlePath", ref Config.OriginalsBundlePath, "OriginalsBundlePath"); TryApplyTo(Config.OriginalsBundlePath, ref TerrainLoaderDynamic.TerrainOriginalsBundlePath, "OriginalsBundlePath"); } } }