コード例 #1
0
    public override void Upgrade(IUpgradeData data)
    {
        var towerData = data as DefaultTowerUpgradeData;

        if (towerData != null)
        {
            _model = new DefaultTowerModel(towerData.Damage, towerData.FiringRate, towerData.DetectingDistance, towerData.Cost);

            base.Upgrade(data);
        }
    }
コード例 #2
0
        protected virtual void InitializeTowers()
        {
            var defaultTowerVisualFactory = new DefaultTowerVisual.Factory(_towerPrefab, _bulletPrefab);
            var towerFactory = new DefaultTower.Factory();
            var model        = new DefaultTowerModel(_towerSettings.Damage, _towerSettings.FiringRate, _towerSettings.DetectingDistance, _towerSettings.Cost);

            for (var i = 0; i < _towersPositions.Length; i++)
            {
                var towerVisualData = new DefaultTowerVisual.DefaultTowerVisualFactoryData(_towersPositions[i].position, _towersPositions[i].rotation, transform);
                var towerVisual     = defaultTowerVisualFactory.Create(towerVisualData);
                var tower           = towerFactory.Create(towerVisual, model);
                tower.Reset();
            }
        }
コード例 #3
0
 public DefaultTower(DefaultTowerVisual visual, DefaultTowerModel model) : base(visual, model)
 {
     _previousTime = Time.time;
 }