示例#1
0
 // Use this for initialization
 void Awake()
 {
     mImage        = transform.GetComponent <Image>();
     I             = new CannonTower();
     fireCountDown = I.interval;
     enemyFactory  = EnemyFactory.Instance;
 }
示例#2
0
 public void Setup()
 {
     _uut               = new DefensiveUnitUtilities();
     fakePlayer         = Substitute.For <Player>("IB");
     fakeDefensiveUnit  = Substitute.For <ArcherTower>();
     fakeDefensiveUnit1 = Substitute.For <CannonTower>();
 }
示例#3
0
        public void DowngradeUnit(ref CannonTower unit, ref Player player)
        {
            ///<summary>
            /// when this feature is calles, we check the towers level.
            /// if the level is 0 the tower is not upgraded, and no action should be3 taken.
            /// if the level is 1 the tower should be downgraded to level 0, appropiate subtractions are made from the towers defensive prpoerties, and the name is adjusted to the "plain name"
            /// if the level is >1 the tower should be downgraded to current level -1, appropiate subtractions are made from the towers defensive prpoerties, and the name is adjusted to "plain name + "level XX" - 1"
            /// </summary>

            if (unit.defensiveLevel > 1)
            {
                player.updateBank(unit.unitValue);
                unit.unitValue         = unit.unitValue / unit.defensiveLevel;
                unit.defensiveLevel    = unit.defensiveLevel - 1;
                unit.nameDefensiveUnit = "CannonTower Level " + unit.defensiveLevel;
                unit.defensivePower    = unit.defensivePower - 2;
                unit.defenseType       = unit.defenseType;
                unit.defenseRange      = unit.defenseRange - 1;
                unit.upgradeCost       = unit.upgradeCost / upgradeCostFactor;
            }
            else if (unit.defensiveLevel == 1)
            {
                return;
            }
        }
示例#4
0
 public void Setup()
 {
     //  var username=new Player("");
     DefUtilities        = new DefensiveUnitUtilities();
     fakePlayer          = Substitute.For <Player>("IB");
     DefensiveUnitArcher = new ArcherTower();
     DefensiveUnitCannon = new CannonTower();
 }
示例#5
0
 public void Setup()
 {
     //  var username=new Player("");
     DefUtilities        = new DefensiveUnitUtilities();
     userPlayer          = new Player("IB");
     DefensiveUnitArcher = new ArcherTower();
     DefensiveUnitCannon = new CannonTower();
 }
示例#6
0
    void Start()
    {
        parent    = GetComponentInParent <TowerBase>();
        animation = gameObject.GetComponent <Animator>();
        animation.SetFloat("gamespeed", gameSettings.gameSpeed);
        cannonParent     = gameObject.GetComponentInParent <CannonTower>();
        projectileDamage = cannonParent.damage;

        DamageEnemies();
    }
示例#7
0
        private void MouseLeftClick(object sender, MouseButtonEventArgs e) //If a tower is selected, place a tower if it is in the map and not on the path. If not, do nothing
        {
            if (CheckSelected() && ValidPosition((float)(Mouse.GetPosition(this).X - selected.Height / 2), (float)(Mouse.GetPosition(this).Y - selected.Height / 2)))
            {
                if (archerSelected)
                {
                    ArcherTower newTower = new ArcherTower(new BitmapImage(new Uri(System.AppDomain.CurrentDomain.BaseDirectory + "Assets/archertower.png")), (float)(Mouse.GetPosition(this).X - selected.Height / 2), (float)(Mouse.GetPosition(this).Y - selected.Height / 2));
                    Canvas.SetLeft(newTower.Img, newTower.X);
                    Canvas.SetTop(newTower.Img, newTower.Y);
                    newTower.Img.Height = 60;
                    mapCanvas.Children.Add(newTower.Img);
                    towerList.Add(newTower);
                    newTower.thr = new Thread(() => TowerFiring(newTower));
                    newTower.thr.Start();
                    SetAllFalse();
                }
                else if (darkWizardSelected)
                {
                    DarkWizardTower newTower = new DarkWizardTower(new BitmapImage(new Uri(System.AppDomain.CurrentDomain.BaseDirectory + "Assets/darkwizardtower.png")), (float)(Mouse.GetPosition(this).X - selected.Height / 2), (float)(Mouse.GetPosition(this).Y - selected.Height / 2));
                    Canvas.SetLeft(newTower.Img, newTower.X);
                    Canvas.SetTop(newTower.Img, newTower.Y);
                    newTower.Img.Height = 60;
                    mapCanvas.Children.Add(newTower.Img);
                    towerList.Add(newTower);
                    newTower.thr = new Thread(() => TowerFiring(newTower));
                    newTower.thr.Start();
                    SetAllFalse();
                }
                else if (cannonTowerSelected)
                {
                    CannonTower newTower = new CannonTower(new BitmapImage(new Uri(System.AppDomain.CurrentDomain.BaseDirectory + "Assets/cannontower.png")), (float)(Mouse.GetPosition(this).X - selected.Height / 2), (float)(Mouse.GetPosition(this).Y - selected.Height / 2));
                    Canvas.SetLeft(newTower.Img, newTower.X);
                    Canvas.SetTop(newTower.Img, newTower.Y);
                    newTower.Img.Height = 60;
                    mapCanvas.Children.Add(newTower.Img);
                    towerList.Add(newTower);
                    newTower.thr = new Thread(() => TowerFiring(newTower));
                    newTower.thr.Start();
                    SetAllFalse();
                }
            }
            else if (CheckSelected())
            {
                MessageBox.Show("Invalid placement!");
            }

            UpdateGameInfo();
        }
示例#8
0
        public void UpgradeUnit(ref CannonTower unit, ref Player player)
        {
            if (unit.upgradeCost < player.bank)
            {
                double valuta = unit.upgradeCost;
                player.updateBank(-valuta);

                unit.defensiveLevel    = unit.defensiveLevel + 1;
                unit.nameDefensiveUnit = unit.nameDefensiveUnit + " Level " + unit.defensiveLevel;
                unit.defensivePower    = unit.defensivePower + 2;
                unit.defenseRange      = unit.defenseRange + 1;
                unit.unitValue        += unit.upgradeCost;
                unit.upgradeCost       = unit.upgradeCost * upgradeCostFactor; //new upprice
            }
            else
            {
                return;
            }
        }
示例#9
0
 public void Setup()
 {
     _uut = new CannonTower();
 }
示例#10
0
 public CannonTowerUC()
 {
     InitializeComponent();
     _currentTower = new CannonTower();
     TowerHitBox   = new Rect(0, 0, 128, 128);
 }