private static void CreateScenario(string name) { ScenarioConfig scenario = JsonConvert.DeserializeObject <ScenarioConfig>(File.ReadAllText("scenario/" + name)); var providerMap = new Dictionary <string, Task <CSLogicProvider> >(); foreach (var e in scenario.entities) { LogicInstantiation inst = new LogicInstantiation(e.logic); Task <CSLogicProvider> prov; if (!providerMap.TryGetValue(inst.AssemblyName, out prov)) { string code = File.ReadAllText("scenario/Logic/" + inst.AssemblyName + ".cs"); prov = DB.PutCompiledLogicProviderAsync(inst.AssemblyName, code); providerMap[inst.AssemblyName] = prov; } } Random rng = new Random(1024); SetupScenario(new BaseDB.ConfigContainer() { extent = new Int3(scenario.worldSize[0], scenario.worldSize[1], scenario.worldSize[2]), m = scenario.M, r = scenario.R }, Translate(scenario.entities, providerMap, rng)); // GenerateEntities(1000)); }
public void InitializeScene() { _character.Initialize(this); _character.transform.position = _characterInitialPosition; _hud.Initialize(this, _character.OnSwipe, _character.OnLeftDown, _character.OnRightDown, _character.OnButtonUp); // level init LevelData levelEntry = GameController.Instance.GetSelectedLevelData(); _levelData = GameController.Instance.DataLoader.GetLevelMaxData(levelEntry.Name); Debug.Log("Level " + _levelData.Name + " max height: " + _levelData.MaxHeight.ToString()); _config = levelEntry.SceneConfig; _cameraPivotPosition.position = new Vector3(0.0f, 0.0f, -5.0f); _baseCameraPivotPos = _cameraPivotPosition.position; InitializeLevel(); CurrentHeight = 0; CurrentPlatforms = 0; TogglePause(false); LevelStarted = false; }