public void loadTestLevel()
    {
        Debug.Log("Load Test Level Called!");

        SimpleLevelData level = new SimpleLevelData(10, 15f);

        GameSettings.instance.loadLevel(level);
    }
Example #2
0
            public static void RunDistinctTest()
            {
                SimpleLevelData[] levels = new SimpleLevelData[]
                {
                    new SimpleLevelData(1, new int[] { 1, 2 }, new decimal[] { 3m, 5m }),
                    new SimpleLevelData(1, new int[] { 1, 2 }, new decimal[] { 3m, 5m }),
                    new SimpleLevelData(1, new int[] { 1, 2, 3 }, new decimal[] { 3m, 5m }),
                };

                // For complex objects,
                // Default only compare by reference, so no effects after Distinct()
                var levelsAfterDistinceByReference = levels.Distinct().ToList();
                // levels = [ { Difficulty = 1; PassCodes = [1, 2]; TreePositions = [3m, 5m] },
                //            { Difficulty = 1; PassCodes = [1, 2]; TreePositions = [3m, 5m] },
                //            { Difficulty = 1; PassCodes = [1, 2, 3]; TreePositions = [3m, 5m] } ]

                // Needs to provide a custom IEqualityComparer
                var levelsAfterDistinceByValue = levels.Distinct(new SimpleLevelDataComparer()).ToList();
                // levels = [ { Difficulty = 1; PassCodes = [1, 2]; TreePositions = [3m, 5m] },
                //            { Difficulty = 1; PassCodes = [1, 2, 3]; TreePositions = [3m, 5m] } ]
            }
    public override void loadLevel(BaseLevelData data, GameController game)
    {
        if (data.getLevelDataType() != SimpleLevelData.LEVEL_DATA_TYPE)
        {
            Debug.Log("Error: Invalid level data for this loader.");
            return;
        }

        SimpleLevelData     levelData = data as SimpleLevelData;
        SimpleTargetFactory factory   = new SimpleTargetFactory();

        //Load the level into the game.
        for (int i = 0; i < levelData.getDifficulty(); i++)
        {
            float targetX    = Random.Range(X_MIN, X_MAX);
            float targetY    = Random.Range(Y_MIN, Y_MAX);
            float targetSize = Random.Range(TARGET_MIN, TARGET_MAX);

            BaseTarget target = factory.makeTarget();

            game.addTarget(target, targetX, targetY, targetSize);
        }
        game.setTime(levelData.getTime(), true);
    }