Exemplo n.º 1
0
    //TODO: actually finish this up.
    public override void loadLevel(BaseLevelData data, GameController game)
    {
        if (data.getLevelDataType() != WeightedListLevelData.LEVEL_DATA_TYPE)
        {
            Debug.Log("Error: Invalid level data for this loader.");
            return;
        }

        WeightedListLevelData levelData = data as WeightedListLevelData;

        WeightedList <BaseTargetFactory> _factoryList = levelData.getFactoryList();

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

            BaseTargetFactory factory = _factoryList.getItem();

            BaseTarget target = factory.makeTarget();

            game.addTarget(target, targetX, targetY, targetSize);
        }
        game.setTime(levelData.getTime(), true);
    }
 public void addFactory(BaseTargetFactory factory, int weight = 1)
 {
     _factoryList.addItem(factory, weight);
 }