예제 #1
0
    public void InflictDamage(GameObject source, float amount)
    {
        if (_invincible)
        {
            return;
        }

        currentHealth -= amount;

        for (int i = 0; i < amount; i++)
        {
            heartMeter.RemoveHalfHeart();
        }

        Vector3 bloodPos = transform.position;

        TheBloodenerScript.MakeBlood(bloodPos);

        if (currentHealth <= 0)
        {
            Kill();
        }
        else
        {
            _playerMover.DamageKnockBack(source);
            Invincible(invincibleTime);
        }
    }
예제 #2
0
    public void Kill()
    {
        Vector3 bloodPos = transform.position;

        TheBloodenerScript.MakeBlood(bloodPos);
        TheBloodenerScript.MakeBlood(bloodPos);
        TheBloodenerScript.MakeBlood(bloodPos);

        currentHealth = 0;
        heartMeter.RemoveAllHearts();
        DeactivatePlayer();
    }
예제 #3
0
    public override void Kill()
    {
        _collider.enabled = false;

        Vector3 bloodPos = transform.position;

        bloodPos.y -= 0.3f;
        TheBloodenerScript.MakeBlood(bloodPos);
        TheBloodenerScript.MakeBlood(bloodPos);
        TheBloodenerScript.MakeBlood(bloodPos);

        Destroy(gameObject);
    }
예제 #4
0
    public override void InflictDamage(float value)
    {
        currentHealth -= value;

        Vector3 bloodPos = transform.position;

        bloodPos.y -= 0.3f;
        TheBloodenerScript.MakeBlood(bloodPos);

        if (currentHealth <= 0)
        {
            Kill();
        }
    }
예제 #5
0
    void Start()
    {
        bloodPool = new List <GameObject>();

        GameObject bloodPoolObject = new GameObject();

        bloodPoolObject.transform.name = "BloodPool";

        for (int i = 0; i < poolSize; i++)
        {
            GameObject newBlood = (GameObject)Instantiate(bloodPrefab);

            newBlood.transform.name   = bloodPrefab.transform.name;
            newBlood.transform.parent = bloodPoolObject.transform;

            bloodPool.Add(newBlood);
        }

        if (isSingletonInstance)
        {
            TheBloodenerScript.singletonInstance = this;
        }
    }