예제 #1
0
    public void Start()
    {
        LevelImporter    importer = new LevelImporter();
        LevelsCollection levels   = importer.loadMetadata(Resources.Load <TextAsset> ("levels").text);

        List <LevelObject> objects = importer.loadLevel(Resources.Load <TextAsset> (PlayerPrefs.GetInt("CurrentLevel", 0).ToString()).text);

        Map.ClearAllTiles();
        LoadLevel(levels.levels[PlayerPrefs.GetInt("CurrentLevel", 0)], objects, Theme);
    }
예제 #2
0
    public void LevelReaderTest()
    {
        LevelImporter      importer = new LevelImporter();
        LevelsCollection   levels   = importer.loadMetadata(LevelImporter.loadFile("Assets/Editor/testlevels.json"));
        List <LevelObject> objects  = importer.loadLevel(LevelImporter.loadFile("Assets/Editor/" + levels.levels[0].id + ".csv"));

        Assert.AreEqual(30, objects.Count);
        Assert.AreEqual(new Vector2Int(7, 0), objects[0].Position);
        Assert.AreEqual(ELevelObjectType.PORTAL, objects[0].LevelObjectType);
        Assert.IsEmpty(objects[0].targetReferences);
    }
예제 #3
0
    public void LevelReaderSwitchDoorTest()
    {
        LevelImporter      importer = new LevelImporter();
        LevelsCollection   levels   = importer.loadMetadata(LevelImporter.loadFile("Assets/Editor/testlevels.json"));
        List <LevelObject> objects  = importer.loadLevel(LevelImporter.loadFile("Assets/Editor/" + levels.levels[0].id + ".csv"));

        LevelObject theswitch = objects[29];
        LevelObject thedoor   = objects[10];

        Assert.AreEqual(1, theswitch.targetReferences.Count);
        Assert.AreEqual(thedoor, theswitch.targetReferences[0]);
    }
예제 #4
0
    private void LoadLevelObjects(LevelImporter importer)
    {
        List <LevelObject> objects            = importer.loadLevel(Resources.Load <TextAsset>(PlayerPrefs.GetInt("CurrentLevel", 0).ToString()).text);
        LevelObjectManager levelObjectManager = GetComponent <LevelObjectManager>();
        LevelsCollection   levels             = importer.loadMetadata(Resources.Load <TextAsset>("levels").text);

        LevelsCollection.Level level = levels.levels[PlayerPrefs.GetInt("CurrentLevel", 0)];
        levelObjectManager.GridSize = new Vector2Int(level.gridSizeX, level.gridSizeY);
        for (int i = 0; i < objects.Count; i++)
        {
            levelObjectManager.InstantiateLevelObject(objects[i]);
        }
    }