public void Generate() { Prepare(); var template = new MacroTemplate(_random); Land = template; //Fully generate Macro Map Macro = template.CreateMacroMap(this); var microtimer = Stopwatch.StartNew(); Micro = new MicroMap(Macro, this); foreach (var zone in Macro.Zones) { template.GenerateMicroZone(Macro, zone, Micro); } Micro.GenerateHeightmap(); microtimer.Stop(); Micro.Changed += MicroOnChanged; Debug.LogFormat("Created micromap in {0} msec", microtimer.ElapsedMilliseconds); }