public void Prepare() { if (prepared) { return; } else { prepared = true; } vegetationShaderWindPropertyID = Shader.PropertyToID("_Windpower"); if (!GameMaster.loading) { windVector = Random.insideUnitCircle; newWindVector = windVector; } Shader.SetGlobalFloat(vegetationShaderWindPropertyID, 1); sun = FindObjectOfType <Light>(); if (sun == null) { sun = new GameObject("sun").AddComponent <Light>(); sun.type = LightType.Directional; } sunTransform = sun.transform; decorations = new List <Transform>(); skyboxMaterial = RenderSettings.skybox; gm = GameMaster.realMaster; globalMap = gm.globalMap; SetEnvironment(Environment.defaultEnvironment); if (gm.gameMode != GameMode.Editor) { RefreshVisual(); RecalculateCelestialDecorations(); } else { } islandStability = DEFAULT_ISLAND_STABILITY; globalMap?.LinkEnvironmentMaster(this); if (GameMaster.realMaster.IsInTestMode) { AnnouncementCanvasController.MakeAnnouncement("environment master loaded"); } }