public void NewGame() { WorldData = JsonUtility.FromJson <WorldData>(WorldDataAsset.text); WorldData.Init(); _worldGenData = JsonUtility.FromJson <WorldGenData>(WorldGenAsset.text); Icosphere = Instantiate(IcospherePrefab, transform); Icosphere.Init(Subdivisions); StaticState = new StaticState(); StaticState.Init(_worldGenData.Radius, Icosphere, WorldData); _simulation = new SimTick(StaticState); _tempState = new TempState(StaticState); int height = 3; for (int i = 0; i < _simStates.Length; i++) { _simStates[i] = new SimState(); _simStates[i].Init(StaticState); } WorldGen.Generate(StaticState.Count, height, _worldGenData, _simStates[_curSimStateIndex], StaticState); _initialized = true; NewGameEvent?.Invoke(_simStates[_curSimStateIndex]); }