Example #1
0
 private void EnterTower(HeavyTower heavyTowerScript)
 {
     SetPlacement(heavyTowerScript);
     towerEntered             = true;
     friendlyMovement.canMove = false;
     enteringTower            = false;
     print("Tower entered");
 }
Example #2
0
        public void InitGame()
        {
            float roadThicknes = 30;
            float upOffset = 10;

            game = new Game(20) { Money = 10, Life = 50 };

            Level level = new Level() { Count = 10, Money = 5, Speed = 0.6F, Points = 1, SpawnDelayMilis = 1000, Width = 10, Height = 10, HitPoints = 40, Ground = true, Active = true };
            game.Levels.Add(level);
            level = new Level() { Count = 10, Money = 10, Speed = 0.6F, Points = 1, SpawnDelayMilis = 1500, Width = 10, Height = 10, HitPoints = 40, Ground = false, Active = false };
            game.Levels.Add(level);
            level = new Level() { Count = 10, Money = 5, Speed = 0.5F, Points = 1, SpawnDelayMilis = 1000, Width = 10, Height = 10, HitPoints = 60, Ground = true, Active = false };
            game.Levels.Add(level);

            Map map = new Map() { Start = new PointF(0, 10), End = new PointF(450, 170), RoadThickness = 20 };
            game.Map = map;
            map.AddRoad(100, Directions.Right);
            map.AddRoad(50, Directions.Down);
            map.AddRoad(50, Directions.Left);
            map.AddRoad(50, Directions.Down);
            map.AddRoad(150, Directions.Right);
            map.AddRoad(100, Directions.Up);
            map.AddRoad(90, Directions.Right);
            map.AddRoad(50, Directions.Down);
            map.AddRoad(130, Directions.Right);

            map.FlyMiddles.Add(new PointF(200, 30));
            map.FlyMiddles.Add(new PointF(200, 50));
            map.FlyMiddles.Add(new PointF(200, 70));

            // buy towers
            SimpleTower tower = new SimpleTower() { Center = new PointF(200, 300), Price = 10, Range = 100, TargetType = TargetTypes.All, Active = false, Dummy = true };
            game.Towers.Add(tower);
            SonicTower sonicTower = new SonicTower() { Center = new PointF(250, 300), Price = 50, Range = 100, TargetType = TargetTypes.All, Active = false, Dummy = true };
            game.Towers.Add(sonicTower);
            HeavyTower heavyTower = new HeavyTower() { Center = new PointF(300, 300), Price = 20, Range = 100, SlowDuration = 50, SlowPercent = 50, TargetType = TargetTypes.Ground, Active = false, Dummy = true };
            game.Towers.Add(heavyTower);
            TeslaTower teslaTower = new TeslaTower() { Center = new PointF(350, 300), Price = 20, Range = 150, TargetType = TargetTypes.All, Active = false, Dummy = true };
            game.Towers.Add(teslaTower);

            // active towers
            tower = new SimpleTower() { Center = new PointF(150, 80), Range = 100, TargetType = TargetTypes.All, Active = true, Placed = true };
            game.Towers.Add(tower);
            sonicTower = new SonicTower() { Center = new PointF(150, 120), Range = 100, TargetType = TargetTypes.All, Active = true, Placed = true };
            game.Towers.Add(sonicTower);
            heavyTower = new HeavyTower() { Center = new PointF(150, 100), Range = 100, SlowDuration = 10, SlowPercent = 50, TargetType = TargetTypes.Ground, Active = true, Placed = true };
            game.Towers.Add(heavyTower);
            teslaTower = new TeslaTower() { Center = new PointF(150, 50), Range = 200, TargetType = TargetTypes.All, Active = true, Placed = true };
            game.Towers.Add(teslaTower);

            game.Running = true;
        }
Example #3
0
    void CheckIfCloseToTower()
    {
        if (Vector3.Distance(transform.position, heavyTowerTransform.position) <= towerRange)
        {
            print("Close to Tower");
            if (enteringTower)
            {
                HeavyTower heavyTowerScript = heavyTowerTransform.GetComponent <HeavyTower>();

                if (heavyTowerScript.soldierCount <= 3)
                {
                    EnterTower(heavyTowerScript);
                    heavyTowerScript.soldierCount++;
                }
            }
        }
    }
Example #4
0
 private void SetPlacement(HeavyTower heavyTowerScript)
 {
     if (heavyTowerScript.soldierCount <= 0f)
     {
         transform.position = heavyTowerTransform.position + new Vector3(1.4f, 7.5f, .6f);
     }
     else if (heavyTowerScript.soldierCount <= 1f)
     {
         transform.position = heavyTowerTransform.position + new Vector3(1.4f, 7.5f, -0.9f);
     }
     else if (heavyTowerScript.soldierCount <= 2f)
     {
         transform.position = heavyTowerTransform.position + new Vector3(-1.4f, 7.5f, -1.1f);
     }
     else if (heavyTowerScript.soldierCount <= 3f)
     {
         transform.position = heavyTowerTransform.position + new Vector3(-1.4f, 7.5f, 0.5f);
     }
     else if (heavyTowerScript.soldierCount == 4f)
     {
         transform.position = heavyTowerTransform.position + new Vector3(0f, 7.5f, -.5f);
     }
 }