Beispiel #1
0
        public void Init(MatrixMap matrixMap, Action <Enemy> onEnemyPassed, float x, float y, int targetX, int targetY, Action <Enemy> onDeath)
        {
            Health   = _maxHealth;
            _onDeath = onDeath;

            _pathfinding.Init(matrixMap, this, () => { onEnemyPassed(this); }, _formula, _moveSpeed, x, y, targetX, targetY);
        }
        public void Init(MatrixMap matrixMap, Enemy enemy, Action onEnemyPassed, EPathFormula formula, float moveSpeed, float x, float y, int targetX, int targetY)
        {
            _matrixMap     = matrixMap;
            _enemy         = enemy;
            _onEnemyPassed = onEnemyPassed;
            _formula       = formula;
            _moveSpeed     = moveSpeed;

            _startGridPosition = new GridPosition(x, y);
            _endGridPosition   = new GridPosition(targetX, targetY);

            InitializePosition();

            UpdatePath();
        }
    public void Init(MatrixMap matrixMap, GameController gameController)
    {
        _matrixMap      = matrixMap;
        _gameController = gameController;

        foreach (var enemyData in _enemiesData.dataArray)
        {
            var enemy = Resources.Load <Enemy>("Enemies/enemy" + enemyData.KEY);
            Assert.IsTrue(enemy != null);

            enemy.SetParameters(new Enemy.EnemyModel(enemyData.Maxhealth, enemyData.Movespeed, enemyData.Reward, enemyData.Flying));

            int index;
            int.TryParse(enemyData.KEY, out index);

            _enemyTypes.Add(index, enemy);
        }
    }
Beispiel #4
0
    public void Init(MatrixMap matrixMap)
    {
        _matrixMap = matrixMap;

        foreach (var towerData in _towersData.dataArray)
        {
            var tower = Resources.Load <Tower>("Towers/tower" + towerData.KEY);
            Assert.IsTrue(tower != null);

            var model = new Tower.TowerModel(tower, towerData.KEY, towerData.Main, towerData.Damage, towerData.Shootdistance,
                                             towerData.Firerate, towerData.Turnspeed, tower.IconSprite, towerData.Price, towerData.Upgradetowers);

            TowerTypes.Add(model, tower);
        }

        foreach (var type in TowerTypes)
        {
            type.Value.SetParameters(type.Key, TowerTypes.Select(x => x.Key).Where(x => type.Key.Upgrades.Contains(x.Id)).ToList());
        }
    }