Example #1
0
 private void Start()
 {
     placer = TowerPlacer.Instance;
     placer.OnTowerPlaced            += LoadInstrumentBeatmapperAtEndOfUpdate;
     towerProgression                 = TowerProgression.Instance;
     towerProgression.OnTowerLevelUp += LevelUpTower;
 }
Example #2
0
    // Start is called before the first frame update
    void Awake()
    {
        if (TryGetComponent(out PlayerController playerController))
        {
            this.playerController = playerController;
        }

        if (TryGetComponent(out TowerPlacer towerPlacer))
        {
            this.towerPlacer = towerPlacer;
        }

        if (TryGetComponent(out TowerPlacerController towerPlacerController))
        {
            this.towerPlacerController = towerPlacerController;
        }

        if (TryGetComponent(out SelectTowerController selectTowerController))
        {
            this.selectTowerController = selectTowerController;
        }

        if (TryGetComponent(out PlayerTowerInteraction playerTowerInteraction))
        {
            this.playerTowerInteraction = playerTowerInteraction;
        }

        if (TryGetComponent(out PlayerMenu playerMenu))
        {
            this.playerMenu = playerMenu;
        }

        playerController.OnDeath += new PlayerController.MyEventHandler(OnDeath);
    }
Example #3
0
    void OnEnable()
    {
        GameObject  towercontroller = GameObject.Find("TowerController");
        TowerPlacer towerplacer     = towercontroller.GetComponent <TowerPlacer>();

        CanUpgradenew = towerplacer.CanUpgrade;
        placedTowers  = towerplacer.placedTowers;
    }
Example #4
0
 void Awake()
 {
     if (Instance != null && Instance != this)
     {
         Destroy(gameObject);
     }
     Instance = this;
 }
Example #5
0
        public SelectTowerController(TowerManager towerManager, TowerPlacer towerPlacer, Camera camera)
        {
            this.towerManager = towerManager;
            this.towerPlacer  = towerPlacer;
            this.camera       = camera;

            ControllerGroupId = new HashSet <int>();
            Enabled           = true;
        }
Example #6
0
    private void Start()
    {
        towerPlacer = TowerPlacer.Instance;
        towerPlacer.OnTowerPlaced += UnlockInstrument;


        towerProgression = TowerProgression.Instance;
        towerProgression.OnTowerLevelUp += LevelUpTowerUi;
    }
Example #7
0
        public TowerSelectorController(Camera camera, TowerPlacer towerPlacer, BulletManager bulletManager, EnemyManager enemyManager, ParticleManager particleManager)
        {
            this.camera          = camera;
            this.towerPlacer     = towerPlacer;
            this.bulletManager   = bulletManager;
            this.particleManager = particleManager;

            ControllerGroupId = new HashSet <int>();
            Enabled           = true;
        }
 // Update is called once per frame
 void FixedUpdate()
 {
     if (TowerPlacer.CheckTowerPlacement(gameObject))
     {
         materialChanger.ChangeMaterial(PlaceableMaterial);
     }
     else
     {
         materialChanger.ChangeMaterial(NotPlaceableMaterial);
     }
 }
Example #9
0
    public void BuyTower()
    {
        if (GameControllerS.I.Money < Cost)
        {
            throw new System.InvalidOperationException("This method should only be called when clicking the button in shop (which should be only enabled if user has enough money).");
        }

        GameControllerS.I.SubtractMoney(Cost);
        TowerPlacer tp = Instantiate(GameControllerS.I.Shop.TowerPlacer);

        tp.Tower = Tower;
        tp.Cost  = Cost;
    }
        public TestTowerPlacerScript(TowerPlacer towerPlacer, Tower tower)
        {
            for (int y = 0; y < MapManager.LoadedMap.PermittedTowerPlacementTexture.Height / (tower.BaseRadius * 2); y++)
            {
                for (int x = 0; x < MapManager.LoadedMap.PermittedTowerPlacementTexture.Width / (tower.BaseRadius * 2); x++)
                {
                    towerPlacer.TargetTower = tower.Duplicate();
                    towerPlacer.MoveTower(new Vector2(x * tower.BaseRadius * 2, y * tower.BaseRadius * 2));
                    towerPlacer.PlaceTower();
                }
            }

            ControllerGroupId = new HashSet <int>();
        }
Example #11
0
 void Start()
 {
     index       = 0;
     towerPlacer = gameObject.GetComponent <TowerPlacer>();
     SpriteRenderer[] spriteRenderers = gameObject.GetComponentsInChildren <SpriteRenderer>();
     foreach (SpriteRenderer spriteRenderer in spriteRenderers)
     {
         if (spriteRenderer.gameObject == gameObject)
         {
             continue;
         }
         towerGhost = spriteRenderer;
     }
 }
Example #12
0
 private void Awake()
 {
     foreach (RectTransform child in _UIPanel.transform)
     {
         if (child.gameObject.TryGetComponent(out TowerUpgrader towerUpgrader))
         {
             _towerUpgrader = towerUpgrader;
         }
         if (child.gameObject.TryGetComponent(out TowerPlacer towerPlacer))
         {
             _towerPlacer = towerPlacer;
         }
     }
 }
Example #13
0
        public TestScreen()
        {
            camera = new Camera(new Vector2(0, 0))
            {
                Scale = new Vector2(0.8f)
            };

            enemyManager          = new EnemyManager();
            towerManager          = new TowerManager(enemyManager);
            bulletManager         = new BulletManager(enemyManager);
            particleManager       = new ParticleManager();
            towerPlacer           = new TowerPlacer(towerManager);
            selectTowerController = new SelectTowerController(towerManager, towerPlacer, camera);
            spawnerController     = new EnemySpawnerController(enemyManager);
            TowerSelectorController towerSelector = new TowerSelectorController(camera, towerPlacer, bulletManager, enemyManager, particleManager);

            // Create Tower prefabs.
            TowerFactory.Add("Tower1", new TestTower(bulletManager, enemyManager, particleManager));
            TowerFactory.Add("Tower2", new MachineGunPlaneTower(bulletManager, enemyManager, particleManager));

            enemyManager.OnEnemyReachedLastPoint += OnEnemyReachedGoal;

            // Controllers.
            controllers.Add(selectTowerController);
            controllers.Add(new MapMoverController(camera));
            controllers.Add(spawnerController);
            controllers.Add(enemyManager);
            controllers.Add(towerManager);
            controllers.Add(bulletManager);
            controllers.Add(particleManager);
            controllers.Add(towerSelector);
            //controllers.Add(new TestTowerPlacerScript(towerPlacer, TowerFactory.GetTower("Tower2"))); // TEST!

            // Views.
            views.Add(new SelectedTowerView(selectTowerController));
            views.Add(new MapView());
            views.Add(enemyManager);
            views.Add(towerManager);
            views.Add(bulletManager);
            views.Add(particleManager);

            AvailableTowersUiView availableTowersUi = new AvailableTowersUiView(new ButtonManager(), towerSelector, new Rectangle(700, 0, 300, 550));

            MouseOverlapsUI.AvailableTowersUi = availableTowersUi;

            // UI.
            uiViews.Add(availableTowersUi);

            spawnerController.Enabled = false;
        }
Example #14
0
        public IEnumerator IndicatorPlacesTower()
        {
            GameObject baseTower = GameObject.Find("BaseTower");

            Physics.Raycast(Camera.main.ScreenPointToRay(Input.mousePosition), out RaycastHit hit, LayerMask.GetMask("Ground"));
            EventRegistry.Invoke("togglePlacer", baseTower, hit.point);
            yield return(new WaitForSeconds(0.5f));

            // Create a tower through its intended pathway
            TowerPlacer placer = GameObject.Find("PlacementIndicator(Clone)").GetComponent <TowerPlacer>();

            placer.SetTower(GameObject.Find("BaseTower"));
            placer.PlaceTower();

            yield return(new WaitForSeconds(0.5f));

            Assert.IsNotNull(GameObject.Find("BaseTower(Clone)"));
        }
Example #15
0
    private void Awake()
    {
        if (TryGetComponent(out TowerPlacer towerPlacer))
        {
            this.towerPlacer = towerPlacer;
        }

        if (TowerErrorText == null)
        {
            Debug.LogError("This doesn't have text mesh pro!", this);
        }

        TowerErrorText.text = "";

        if (TryGetComponent(out UISliderFloatIndicator BuildingProgressSlider))
        {
            this.BuildingProgressSlider = BuildingProgressSlider;
        }

        towerPlacer.OnStartBuildingATower     += new TowerPlacer.MyTowerEventHandler(StartedBuilding);
        towerPlacer.OnCancelingBuildingATower += new TowerPlacer.MyTowerEventHandler(FinishedBuilding);
        towerPlacer.OnFinishedBuildingATower  += new TowerPlacer.MyTowerEventHandler(FinishedBuilding);
    }
Example #16
0
    private void SetOwnership()
    {
        foreach (var player in GameManager.instance.PlayersInGame)
        {
            if (PhotonNetwork.LocalPlayer.Equals(player.photonView.Owner))
            {
                _player = player;
            }
        }

        foreach (var placer in ConstructionManager.instance.towerPlacers)
        {
            if (PhotonNetwork.LocalPlayer.Equals(placer.photonView.Owner))
            {
                _placer = placer;
            }
        }

        foreach (var button in _buildTowerButtons)
        {
            button.GetComponent <BuildTowerButton>().Owner       = _player;
            button.GetComponent <BuildTowerButton>().TowerPlacer = _placer;
        }
    }
 private void Start()
 {
     placer = TowerPlacer.Instance;
     placer.OnTowerPlaced += UpdateBandLevel;
 }
Example #18
0
 public void BuildBrute()
 {
     TowerPlacer.Place(shop.brute, location, 40);
     Close();
 }
Example #19
0
 public void BuildSniper()
 {
     TowerPlacer.Place(shop.sniper, location, 40);
     Close();
 }
Example #20
0
 public void BuildBounce()
 {
     TowerPlacer.Place(shop.twilight, location, 40);
     Close();
 }
Example #21
0
 public void BuildSplash()
 {
     TowerPlacer.Place(shop.splash, location, 40);
     Close();
 }
Example #22
0
 public void BuildMine()
 {
     TowerPlacer.Place(shop.mine, location, 40);
     Close();
 }
Example #23
0
 public void BuildSupport()
 {
     TowerPlacer.Place(shop.sommy, location, 40);
     Close();
 }
 private void Start()
 {
     maxLives = lives;
     TowerPlacer.SetTower(startingTower.gameObject);
 }
    public void ApplyOwnershipToTowerPlacers()
    {
        for (int i = 0; i < towerPlacers.Length; i++)
        {
            TowerPlacer towerPlacer = towerPlacers[i].GetComponent <TowerPlacer>();

            switch (towerPlacer.towerPlacerOwner)
            {
            case TowerPlacer.TowerPlacerOwner.Player1:
                towerPlacer.Owner = GameManager.instance.PlayersInGame[0];
                break;

            case TowerPlacer.TowerPlacerOwner.Player2:
                towerPlacer.Owner = GameManager.instance.PlayersInGame[1];
                break;

            case TowerPlacer.TowerPlacerOwner.Player3:
                towerPlacer.Owner = GameManager.instance.PlayersInGame[2];
                break;

            case TowerPlacer.TowerPlacerOwner.Player4:
                towerPlacer.Owner = GameManager.instance.PlayersInGame[3];
                break;

            case TowerPlacer.TowerPlacerOwner.Player5:
                towerPlacer.Owner = GameManager.instance.PlayersInGame[4];
                break;
            }

            Debug.Log("AppliedTowerPlacersOwnership");
        }

        //for (int i = 0; i < GameManager.instance.playersInGame.Count; i++)
        //{
        //    var player = GameManager.instance.playersInGame[i];

        //    foreach (var towerPlacer in towerPlacers)
        //    {
        //        switch (towerPlacer.towerPlacerOwner)
        //        {
        //            case TowerPlacer.TowerPlacerOwner.Player1:
        //                towerPlacer.Owner = GameManager.instance.playersInGame[player.PlayerNumber - 1];
        //                break;
        //            case TowerPlacer.TowerPlacerOwner.Player2:
        //                towerPlacer.Owner = GameManager.instance.playersInGame[player.PlayerNumber - 1];
        //                break;
        //            case TowerPlacer.TowerPlacerOwner.Player3:
        //                towerPlacer.Owner = GameManager.instance.playersInGame[player.PlayerNumber - 1];
        //                break;
        //            case TowerPlacer.TowerPlacerOwner.Player4:
        //                towerPlacer.Owner = GameManager.instance.playersInGame[player.PlayerNumber - 1];
        //                break;
        //            case TowerPlacer.TowerPlacerOwner.Player5:
        //                towerPlacer.Owner = GameManager.instance.playersInGame[player.PlayerNumber - 1];
        //                break;
        //        }

        //        Debug.Log("AppliedTowerPlacersOwnership");
        //    }
        //}
    }
 private void Start()
 {
     placer = TowerPlacer.Instance;
     placer.OnTowerPlaced += HandleTowerPlaced;
 }