示例#1
0
    public static void UnfreezeDynamicObjects()
    {
        singletonInstance.isFrozen = false;

        //Resume enemy spawning
        EnemySpawnerController.ResumeEnemySpawning();
        //Unfreeze bullets
        for (int i = 0; i < singletonInstance.ammoPool.transform.childCount; i++)
        {
            if (singletonInstance.ammoPool.transform.GetChild(i).gameObject.activeSelf)
            {
                singletonInstance.ammoPool.transform.GetChild(i).GetComponent <Rigidbody2D>().velocity = singletonInstance.projectileVelocitiesAtFreeze[i];
            }
        }
        singletonInstance.projectileVelocitiesAtFreeze.Clear();

        //Reactivate player controller
        singletonInstance.logicController.GetComponent <PlayerController>().enabled  = true;
        singletonInstance.logicController.GetComponent <WeaponsController>().enabled = true;
        GameObject.FindGameObjectWithTag("Player").GetComponent <Animator>().enabled = true;


        //Reactivate enemy AI
        for (int i = 0; i < singletonInstance.enemyTankParentObject.transform.childCount; i++)
        {
            singletonInstance.enemyTankParentObject.transform.GetChild(i).GetComponent <EnemyAI>().enabled      = true;
            singletonInstance.enemyTankParentObject.transform.GetChild(i).GetComponent <Animator>().enabled     = true;
            singletonInstance.enemyTankParentObject.transform.GetChild(i).GetComponent <Rigidbody2D>().velocity = singletonInstance.tankVelocitiesAtFreeze[i];
            singletonInstance.enemyTankParentObject.transform.GetChild(i).GetComponent <EnemyAI>().ResumeAI();
        }
    }
示例#2
0
 private void Start()
 {
     EnemySpawnerController = GameObject.FindGameObjectWithTag("EnemySpawner").GetComponent <EnemySpawnerController>();
     Tens              = Instantiate(NumberPrefab, Tens.transform);
     Singles           = Instantiate(NumberPrefab, Singles.transform);
     TensController    = Tens.GetComponent <NumberController>();
     SinglesController = Singles.GetComponent <NumberController>();
     SetHealth(BarrierHealth);
 }
	void Awake () {
		battleResultsPanel = GameObject.FindObjectOfType<BattleResultsController>().gameObject;
		battleResultsPanel.SetActive(false);
		playerStatusController = GameObject.FindObjectOfType<PlayerStatusController>();
		enemyActionBar = GameObject.FindObjectOfType<EnemyActionBar>();
		battle = GameObject.Find("Battle");
		bossStatusController = GameObject.FindObjectOfType<BossStatusController>();
		enemySpawnerController = GameObject.FindObjectOfType<EnemySpawnerController>();
	}
    private void Update()
    {
        if (Input.anyKeyDown)
        {
            fadingOut = true;
            isReady   = true;
            LevelManager.SetPlayerReadyStatus(isReady);
            EnemySpawnerController.ResumeEnemySpawning();
        }

        if (fadingOut)
        {
            float alphaScreen = gameObject.GetComponent <Image>().color.a;
            float alphaText   = gameObject.transform.GetChild(0).GetComponent <TextMeshProUGUI>().color.a;

            Color fadeOutScreenColor = new Color(0, 0, 0, alphaScreen - Time.deltaTime * alphaDeltaFadeOut);

            textColor.a = alphaText - Time.deltaTime * alphaDeltaFadeOut;

            gameObject.transform.GetChild(0).GetComponent <TextMeshProUGUI>().color = textColor;
            gameObject.transform.GetChild(1).GetComponent <TextMeshProUGUI>().color = textColor;
            gameObject.transform.GetChild(2).GetComponent <TextMeshProUGUI>().color = textColor;
            gameObject.GetComponent <Image>().color = fadeOutScreenColor;

            if (fadeOutScreenColor.a <= 0)
            {
                Destroy(gameObject);
            }
        }

        if (continueBlinking)
        {
            float alpha         = gameObject.transform.GetChild(1).GetComponent <TextMeshProUGUI>().color.a;
            Color blinkingColor = textColor;

            if (blinkFadingIn)
            {
                blinkingColor.a = alpha + Time.deltaTime * alphaDeltaBlinking;
            }
            else
            {
                blinkingColor.a = alpha - Time.deltaTime * alphaDeltaBlinking;
            }

            gameObject.transform.GetChild(1).GetComponent <TextMeshProUGUI>().color = blinkingColor;
            gameObject.transform.GetChild(2).GetComponent <TextMeshProUGUI>().color = blinkingColor;

            if (blinkingColor.a >= 1)
            {
                blinkFadingIn = false;
            }
            else if (blinkingColor.a <= 0)
            {
                blinkFadingIn = true;
            }
        }
    }
示例#5
0
    void Awake()
    {
        instance      = this;
        enemySpawners = GetComponent <EnemySpawnerController>();

        if (Options.instance.skipIntro)
        {
            transitionAnim.SetTrigger("SkipIntro");
        }
    }
	// Use this for initialization
	void Start () {
		enemySpawnerController = GameObject.FindObjectOfType<EnemySpawnerController>();
		interactButton = GameObject.Find("Interact Button").GetComponent<Button>();
		interactButton.interactable = false;
		textBox = GameObject.Find("Text Box");
		textBox.SetActive(false);
		textController = GameObject.FindObjectOfType<InteractionTextController>();
		transitionPanelAnimator = GameObject.Find("Transition Panel").GetComponent<Animator>();
		unityAdsExample = GameObject.FindObjectOfType<UnityAdsExample>();
		gameController = GameObject.FindObjectOfType<GameController>();
	}
    void Start()
    {
        GetComponent <Image>().enabled = true;
        gameObject.transform.GetChild(0).GetComponent <TextMeshProUGUI>().text = "Level " + LevelManager.GetCurrentLevel().ToString();
        gameObject.transform.GetChild(1).GetComponent <TextMeshProUGUI>().text = "Ready";
        //gameObject.transform.GetChild(2).GetComponent<TextMeshProUGUI>().text = "...";

        textColor = gameObject.transform.GetChild(0).GetComponent <TextMeshProUGUI>().color;

        //StartCoroutine(AnimateReadyText());
        EnemySpawnerController.PauseEnemySpawning();
    }
示例#8
0
    // Use this for initialization
    void Awake()
    {
        if (Instance == null)
        {
            Instance = this;
        }
        else
        {
            Destroy(this);
        }

        _enemySpawner = GetComponent <EnemySpawnerController>();
    }
示例#9
0
    private IEnumerator PlayCurrentLevelScript()
    {
        if (currentLevel == 1)
        {
            yield return(new WaitWhile(() => isPlayerReady == false));

            PlayerSpawner.SpawnPlayer();
            yield return(new WaitForSeconds(4f));

            TooltipController.PlayTooltipAnimation(Tooltip.Eagle, false);
            PauseManager.FreezeDynamicObjects();
            EnemySpawnerController.SetSpawnFrequency(.8f);
            EnemySpawnerController.SetSpawnStartTime(0f);

            //Freeze as soon as spawned has been called on the 3rd enemy
            yield return(new WaitWhile(() => EnemySpawnerController.GetNumberEnemiesSpawned() != 3));

            PauseManager.FreezeDynamicObjects();
            onSpawnSfx = false;

            //Show crosshairs once all three enemies are spawned and on scene
            yield return(new WaitWhile(() => enemyTankParentObject.transform.childCount != 3));

            TooltipController.PlayTooltipAnimation(Tooltip.FirstWave, false);
            EnemySpawnerController.SetSpawnFrequency(4f);
            EnemySpawnerController.SetSpawnStartTime(1f);

            yield return(new WaitWhile(() => EnemySpawnerController.GetNumberEnemiesSpawned() != 4));

            TooltipController.PlayTooltipAnimation(Tooltip.Ammo, true);
            yield return(new WaitForSeconds(.5f));

            TooltipController.PlayTooltipAnimation(Tooltip.HealthBar, true);
            yield return(new WaitForSeconds(.5f));

            TooltipController.PlayTooltipAnimation(Tooltip.Lives, true);

            //Show tooltip on first enemy that has power up
            yield return(new WaitWhile(() => EnemySpawnerController.GetNumberEnemiesSpawned() != 7));

            TooltipController.PlayTooltipAnimation(Tooltip.FirstPU, false);
            PauseManager.FreezeDynamicObjects();
        }
        else if (currentLevel == 2)
        {
            onSpawnSfx = false;
            yield return(new WaitWhile(() => isPlayerReady == false));

            PlayerSpawner.SpawnPlayer();
        }
    }
示例#10
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;
        }
	// Use this for initialization
	void Start () {
		world = GameObject.Find("World");
		battle = GameObject.Find("Battle");
		playerMovement = GameObject.FindObjectOfType<PlayerMovement>();
		playerClass = GameObject.FindObjectOfType<PlayerClass>();
		enemySpawnerController = GameObject.FindObjectOfType<EnemySpawnerController>();
		transitionPanel = GameObject.Find("Transition Panel");
		battle.SetActive(false);
		bossStatusController = GameObject.FindObjectOfType<BossStatusController>();
		playerInteractableController = GameObject.FindObjectOfType<PlayerInteractableController>();
		modeTransitionController = GameObject.FindObjectOfType<ModeTransitionController>();
		puzzleObjectController = GameObject.FindObjectOfType<PuzzleObjectController>();
		unityAdsExample = GameObject.FindObjectOfType<UnityAdsExample>();
	}
    //Spawn an EnemySpawnerController with the wave parameter
    void SpawnWave(Dictionary <string, int> wave)
    {
        int                    waveReward = RevenueTemplate.revenueDictWaves[level];
        GameObject             newSpawner = Instantiate(spawner, transform) as GameObject;
        EnemySpawnerController esc        = newSpawner.GetComponent <EnemySpawnerController>();

        foreach (KeyValuePair <string, int> item in wave)
        {
            GameObject enemyType = SelectEnemyType(item.Key);
            esc.AddToSpawnQueue(enemyType, item.Value);
        }
        esc.ActivateWave();
        esc.SetWaveReward(waveReward);
        spawnerList.Add(newSpawner);
    }
示例#13
0
    private IEnumerator BeginFreezingDynamicObjects()
    {
        //Pause enemy spawning
        EnemySpawnerController.PauseEnemySpawning();

        //Freeze bullets
        for (int i = 0; i < ammoPool.transform.childCount; i++)
        {
            Vector2 velocity = ammoPool.transform.GetChild(i).GetComponent <Rigidbody2D>().velocity;
            projectileVelocitiesAtFreeze.Add(velocity);

            if (ammoPool.transform.GetChild(i).gameObject.activeSelf)
            {
                ammoPool.transform.GetChild(i).GetComponent <Rigidbody2D>().velocity = new Vector2(0, 0);
            }
        }

        //Deactivate player controller
        logicController.GetComponent <PlayerController>().enabled  = false;
        logicController.GetComponent <WeaponsController>().enabled = false;
        GameObject.FindGameObjectWithTag("Player").GetComponent <Rigidbody2D>().velocity = Vector2.zero;
        GameObject.FindGameObjectWithTag("Player").GetComponent <Animator>().enabled     = false;

        //Deactivate enemy AI
        do
        {
            tankVelocitiesAtFreeze.Clear();
            for (int i = 0; i < enemyTankParentObject.transform.childCount; i++)
            {
                enemyTankParentObject.transform.GetChild(i).GetComponent <EnemyAI>().PauseAI();
                enemyTankParentObject.transform.GetChild(i).GetComponent <Animator>().enabled = false;
                enemyTankParentObject.transform.GetChild(i).GetComponent <EnemyAI>().enabled  = false;

                Vector2 velocity = enemyTankParentObject.transform.GetChild(i).GetComponent <Rigidbody2D>().velocity;
                tankVelocitiesAtFreeze.Add(velocity);
                enemyTankParentObject.transform.GetChild(i).GetComponent <Rigidbody2D>().velocity = new Vector2(0, 0);
            }
            yield return(new WaitForFixedUpdate());
        } while (isFrozen);
    }
示例#14
0
 // Use this for initialization
 void Start()
 {
     parent             = transform.parent.gameObject.GetComponent <EnemySpawnerController>();
     hp_slider.maxValue = max_hp;
     hp_slider.value    = hit_points;
     ChooseNewPitch();
     choose_new_pitch = false;
     ApplyDifficulty();
     instrument_used = instrument_choices[Random.Range(0, instrument_choices.Length)];
     Instantiate(instrument_used, transform);
     particleSys    = GetComponentsInChildren <ParticleSystem>();
     childSprites   = GetComponentsInChildren <SpriteRenderer>();
     float_behavior = GetComponent <FloatBehavior>();
     allSprites.Add(GetComponent <SpriteRenderer>());
     foreach (SpriteRenderer sprite in childSprites)
     {
         allSprites.Add(sprite);
     }
     reloading_time         = Random.Range(0.0f, reload_in_sec);
     this_target            = GetComponent <ThisTarget>();
     this_target.frequency  = note_freq;
     this_target.targetable = targetable;
 }
示例#15
0
 private void Awake()
 {
     controller     = new EnemySpawnerController(this, config, data);
     enemiesInScene = 0;
 }
示例#16
0
 private void Awake()
 {
     enemySpawnerController = new EnemySpawnerController(this, enemySpawnerConfig, enemySpawnerData);
 }
示例#17
0
 private void Start()
 {
     playerController       = Utilities.Scene.findExactlyOne <PlayerController>();
     enemySpawnerController = Utilities.Scene.findExactlyOne <EnemySpawnerController>();
 }
示例#18
0
 // Use this for initialization
 void Start()
 {
     parent       = transform.parent.gameObject.GetComponent <Enemy>();
     grand_parent = parent.transform.parent.gameObject.GetComponent <EnemySpawnerController>();
 }
 private void InitializeSingleton()
 {
     singletonInstance = this;
 }
	void Start () {
		enemySpawnerController = gameObject.GetComponent<EnemySpawnerController>();
		playerClass = GameObject.FindObjectOfType<PlayerClass>();
	}
	void Awake()
	{
		instance = this;
	}
示例#22
0
    private void Awake()
    {
        if (enemyType == EnemyType.Small)
        {
            tankSpeed  = 600;
            shellSpeed = 1300;

            armor = 1;

            primaryDirection   = .45f;
            secondaryDirection = .45f;
            awayDirection      = .05f;

            minMoveChangeDelay = 3f;
            maxMoveChangeDelay = 5f;

            minFireDelay = 3f;
            maxFireDelay = 5f;

            preferredTarget = Target.Player;
        }
        else if (enemyType == EnemyType.Fast)
        {
            tankSpeed  = 1000;
            shellSpeed = 1300;

            armor = 1;

            primaryDirection   = .6f;
            secondaryDirection = .3f;
            awayDirection      = .05f;

            minMoveChangeDelay = 1f;
            maxMoveChangeDelay = 5f;

            minFireDelay = 1f;
            maxFireDelay = 5f;

            preferredTarget = Target.Eagle;
        }
        else if (enemyType == EnemyType.Heavy)
        {
            tankSpeed  = 600;
            shellSpeed = 2000;

            armor = 1;

            primaryDirection   = .8f;
            secondaryDirection = .2f;
            awayDirection      = .00000000001f;

            minMoveChangeDelay = 3f;
            maxMoveChangeDelay = 5f;

            minFireDelay = 1f;
            maxFireDelay = 3.5f;

            preferredTarget = Target.Player;
        }
        else if (enemyType == EnemyType.Armored)
        {
            tankSpeed  = 400;
            shellSpeed = 2200;

            armor = 4;

            primaryDirection   = .8f;
            secondaryDirection = .2f;
            awayDirection      = .00000000001f;

            minMoveChangeDelay = 5f;
            maxMoveChangeDelay = 6f;

            minFireDelay = 3f;
            maxFireDelay = 5f;

            preferredTarget = Target.Player;
        }

        //PU and respective animation
        indexTankWithPU = new List <int>()
        {
            7, 10, 13, 16, 17, 18
        };
        int siblingIndex = EnemySpawnerController.GetNumberEnemiesSpawned();

        if (indexTankWithPU.Any(i => i == siblingIndex))
        {
            hasPU = true;
        }
        else
        {
            hasPU = false;
        }

        anim = GetComponent <Animator>();
    }
 public void SetSpawnerController(EnemySpawnerController controller)
 {
     _spawnerController = controller;
 }