示例#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);
    }
示例#2
0
        public override void InitLevelRules(BaseLevelManager levelManagerSet, BaseLevelData levelDataNew = null)
        {
            levelManager = (LevelManager)levelManagerSet;

            UserManager.Instance.SetHealth(1, true);
            UserManager.Instance.SetScore(0, true);
        }
示例#3
0
    public void loadLevel(BaseLevelData levelData, string loaderToUse = null)
    {
        Debug.Log("Load Level Called!");

        setLevelToLoad(levelData);
        setLoaderToUse(loaderToUse);

        Application.LoadLevel("sceneGame");
    }
示例#4
0
    /// <summary>
    /// Loads the level with the given loader type.
    /// </summary>
    /// <param name="level">The level data to load</param>
    /// <param name="levelLoaderType">The level data loader to use, if not specified it will default to the level data type.</param>
    public void loadLevel(BaseLevelData level, string levelLoaderType = null)
    {
        if (levelLoaderType == null)
        {
            levelLoaderType = level.getLevelDataType();
        }

        if (_levelLoaders.ContainsKey(levelLoaderType) == false)
        {
            Debug.Log("Unable to locate level loader type : " + levelLoaderType);
            return;
        }

        if (_targets == null)
        {
            _targets = new List <BaseTarget>();
        }
        else
        {
            _targets.Clear();
        }

        _levelLoaders[levelLoaderType].loadLevel(level, this);
    }
示例#5
0
 abstract public void loadLevel(BaseLevelData data, GameController game);
示例#6
0
 public void setLevelToLoad(BaseLevelData levelData)
 {
     _levelToLoad = levelData;
 }
示例#7
0
 public abstract void InitLevelRules(BaseLevelManager levelManager, BaseLevelData levelData = null);