Exemplo n.º 1
0
    public void ShowScorePopup(Vector3 worldPosition, int score)
    {
        GameObject scorePopupObject = Utils.Spawn(ScorePopupPrefab, ScorePopupRoot);
        ScorePopup scorePopup       = scorePopupObject.GetComponent <ScorePopup>();

        scorePopup.Init(worldPosition, score);
    }
Exemplo n.º 2
0
    public void OnDeath(int points)
    {
        AudioManager.Instance.OnBombHit();
        currentTween.Kill();

        ScorePopup sp = scorePopup.gameObject.GetComponentInChildren <ScorePopup>();

        scorePopup.transform.position = this.transform.position;
        sp.Init(transform.position, points);

        //Destroy(scorePopup, scoreLifetime);
    }
Exemplo n.º 3
0
    public virtual void Death(int playerNumber)
    {
        if (GameManager.instance.SelectedGamemode != null)
        {
            GameManager.instance.SelectedGamemode.AwardAiKill(playerNumber);
            ScorePopup scorePopup = Instantiate(LevelManager.instance.scorePopupPrefab, transform.position, Quaternion.identity);
            scorePopup.Init(GameManager.instance.SelectedGamemode.aiKillsPointReward);
        }

        SpawnWeapon();

        Destroy(gameObject);
    }
Exemplo n.º 4
0
    public override void PlayerDied()
    {
        base.PlayerDied();

        if (playersStillAliveThisRound == 1)
        {
            int winningPlayerNumber = 0;
            for (int i = 0; i < players.Length; i++)
            {
                if (players[i].isStillAlive)
                {
                    winningPlayerNumber = players[i].playerNumber;
                    ScorePopup scorePopup = Instantiate(LevelManager.instance.scorePopupPrefab, players[i].playerMovement.transform.position, Quaternion.identity);
                    scorePopup.Init(lastPlayerAlivePoints);
                }
            }
            AwardRoundWin(winningPlayerNumber);
            EndRound(winningPlayerNumber);
        }
        else if (playersStillAliveThisRound < 1)
        {
            EndRound(0);
        }
    }
    void OnChargeComplete()
    {
        if (chargedParticle != null)
        {
            GameObject       go        = Instantiate(chargedParticle, transform.position, Quaternion.identity);
            ParticleSystem[] particles = go.GetComponentsInChildren <ParticleSystem>();
            foreach (var particle in particles)
            {
                particle.startColor = GameManager.instance.playerColours[playerNumber - 1];
                particle.Play();
            }
        }
        if (GameManager.instance.SelectedGamemode != null)
        {
            GameManager.instance.SelectedGamemode.AwardExtraction(playerNumber);
            ScorePopup scorePopup = Instantiate(LevelManager.instance.scorePopupPrefab, playerShoot.gunOriginTransform.transform.position, Quaternion.identity);
            scorePopup.Init(GameManager.instance.SelectedGamemode.extractionPointReward);
        }

        if (SoundManager.instance != null)
        {
            SoundManager.instance.PlaySFX("SFX_Extraction");
        }
    }
Exemplo n.º 6
0
    public void HitByPlayer(int projectilePlayerNumber, bool canHurtSelf = false)
    {
        if (GameManager.instance.SelectedGamemode != null)
        {
            if (GameManager.instance.SelectedGamemode.noFriendlyFire)
            {
                return;
            }
        }
        if (hasShield)
        {
            UseShield();
            return;
        }

        if (canHurtSelf == false)
        {
            if (projectilePlayerNumber == playerNumber)
            {
                return;
            }
        }
        if (isAlive == false)  // Already dead so cant be killed again
        {
            return;
        }
        isAlive = false;
        health  = 0;

        if (projectilePlayerNumber == playerNumber)
        {
            if (GameManager.instance.SelectedGamemode != null)
            {
                GameManager.instance.SelectedGamemode.AddToStats(playerNumber, StatTypes.Suicides, 1);
            }
        }

        if (isGamepad)
        {
            StartCoroutine("Haptic");
        }

        StartCoroutine("FlashHurt");
        JuiceManager.TimeSleep(playerParams.playerHitSlowMoDuration, playerParams.playerHitTimeScale, false);

        ParticleSystem p = Instantiate(bloodSplatterParticle, transform.position, Quaternion.identity);

        p.Play();
        Destroy(p.gameObject, 3);

        if (projectilePlayerNumber != playerNumber)
        {
            if (GameManager.instance.SelectedGamemode != null)
            {
                GameManager.instance.AwardKill(projectilePlayerNumber);
                ScorePopup scorePopup = Instantiate(LevelManager.instance.scorePopupPrefab, transform.position, Quaternion.identity);
                scorePopup.Init(GameManager.instance.SelectedGamemode.playerKillsPointReward);
            }
        }
        Death();
    }