Esempio n. 1
0
        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;
    }