void Awake() { Debug.Log("MenuTriggers.Awake", "Nyan.nyan = " + Nyan.nyan); Debug.Log("MenuTriggers.Awake", "MunSceneInfo.DataBase.Count = " + MunSceneInfo.DataBase?.Count); Debug.Log("MenuTriggers.Awake", "OrbitSceneInfo.DataBase.Count = " + OrbitSceneInfo.DataBase?.Count); if (!Nyan.nyan && !(MunSceneInfo.DataBase?.Count > 0) && !(OrbitSceneInfo.DataBase?.Count > 0)) { return; } GameObject[] scenes = FindObjectOfType <MainMenu>()?.envLogic?.areas; Debug.Log("MenuTriggers.Awake", "scenes = " + scenes?.Length); if (scenes == null) { return; } int i = 1; string hash = DateTime.Now.ToLongTimeString(); hash = Math.Abs(hash.GetHashCode()).ToString(); i = PseudoRandom.Scene(Math.Abs(hash.GetHashCode())); Debug.Log("MenuTriggers.Awake", "random scene = " + i); // Choose Scene scenes[i].SetActive(true); scenes[(i + 1) % 2].SetActive(false); if (Nyan.nyan) { Debug.Log("MenuTriggers.Awake", "Loading nyan scene"); Renderer mun = scenes[1].GetChild("Mun").GetComponent <Renderer>(); mun.material.SetTexture(Nyan.nyanGround); Terrain terrain = scenes[0].GetChild("Terrain").GetComponent <Terrain>(); TerrainLayer[] layers = terrain.terrainData.terrainLayers; layers[0].diffuseTexture = layers[1].diffuseTexture = (Texture2D)Nyan.nyanGround; layers[0].normalMapTexture = layers[1].normalMapTexture = null; terrain.terrainData.terrainLayers = layers; return; } Debug.Log("MenuTriggers.Awake", "chosen scene = " + i); if (i == 0) { Debug.Log("MenuTriggers.Awake", "Loading mun scene"); int index = MunSceneInfo.DataBase.Choose(Math.Abs(hash.GetHashCode())); CustomMunScene scene = new CustomMunScene((MunSceneInfo)MunSceneInfo.DataBase[index]); scene.ApplyTo(scenes[0]); } else if (OrbitSceneInfo.DataBase?.Count > 0) { Debug.Log("MenuTriggers.Awake", "Loading orbit scene"); int index = OrbitSceneInfo.DataBase.Choose(Math.Abs(hash.GetHashCode())); CustomOrbitScene scene = new CustomOrbitScene((OrbitSceneInfo)OrbitSceneInfo.DataBase[index]); scene.ApplyTo(scenes); } if (KopernicusFixer.detect) { Debug.Log("MenuTriggers.Awake", "Kopernicus has been detected"); gameObject.AddOrGetComponent <KopernicusFixer>(); } }