Exemple #1
0
    /// <summary>
    /// ダメージの付与
    /// </summary>
    /// <param name="target">対象</param>
    private void DealDamage(CharacterBehavior target)
    {
        float randomNumber = UnityEngine.Random.value;

        if (randomNumber <= criticalChance)
        {
            target.TakeDamage(damage * 2, GetComponent <Rigidbody2D>().velocity.normalized);

            GameObject damagePopup = Instantiate(damagePopupPrefab, transform.position, Quaternion.identity);
            damagePopup.GetComponent <DamagePopupBehaviour>().Initialize(damage * 2, true);

            GameManager.instance.DealDamage(damage * 2);
        }
        else
        {
            target.TakeDamage(damage, GetComponent <Rigidbody2D>().velocity.normalized);

            GameObject damagePopup = Instantiate(damagePopupPrefab, transform.position, Quaternion.identity);
            damagePopup.GetComponent <DamagePopupBehaviour>().Initialize(damage, false);

            GameManager.instance.DealDamage(damage);
        }
    }