private void SpawnInvader()
        {
            Invader newInvader = (GameObject.Instantiate(m_invaderPrefab, GetInvaderSpawnPos(), Quaternion.identity) as GameObject).GetComponent <Invader>();

            Invader.EType type   = Invader.EType.INVADER_WEAK;
            float         random = Random.value;

            if (random >= m_BossProbability && (PlayerManager.Instance as PlayerManager).GetPlayerList().Count >= 3)
            {
                type = Invader.EType.INVADER_BOSS;
            }
            else if (random >= m_MidInvaderProbability && (PlayerManager.Instance as PlayerManager).GetPlayerList().Count >= 2)
            {
                type = Invader.EType.INVADER_MID;
            }

            newInvader.Type = type;
            m_invaderList.Add(newInvader);
            if (invaderSpawnQueue.Count > 0)
            {
                newInvader.NameText.text = invaderSpawnQueue.Dequeue();
            }
            else
            {
                newInvader.NameText.text = "";
            }
        }
 public void RemoveInvaderFromList(Invader invader)
 {
     if (m_invaderList.Contains(invader))
     {
         m_invaderList.Remove(invader);
         m_destroyedInvaderAmount++;
         if (!(GameManager.Instance as GameManager).IsInGameWonState && !(GameManager.Instance as GameManager).IsInGameOverState)
         {
             UpdateInvaderAmountGUI();
         }
         ComputeInvadersPerPlayer();
         StartCoroutine(CheckForGameWon());
     }
 }
Exemple #3
0
        private void GetDamage(GameObject theSenderGO)
        {
            Invader invader = theSenderGO.transform.parent.GetComponent <Invader>();

            m_health -= InvaderManager.Instance.GetDamageValueFromType(invader.Type);

            invader.InvadeEarth();
            StartCoroutine(FlashBorder());

//			Debug.Log ("### EARTH HEALTH: " + m_health + " ###");

            if (m_health <= 0 && !m_earthDestroyed)
            {
                DestroyEarth();
            }

            UpdateHealthIndicator(m_health);
        }