Esempio n. 1
0
    public void Initialize(FightingEntity target, int damage, DamageType damageType)
    {
        // Format based on damage type
        if (damageType == DamageType.HEALING)
        {
            damage            = Mathf.Abs(damage);
            _damageText.color = _healColour;
        }
        else if (damageType == DamageType.MANA_RECOVERY)
        {
            _damageText.color = _manaRecoveryColour;
        }

        // Set position
        FighterPositions uiPositions = target.GetComponent <FighterPositions>();

        if (uiPositions != null)
        {
            _worldPosition = uiPositions.damagePopup.position;
        }
        else
        {
            Debug.LogWarning(target.name + " has no damagePopupLocation");
        }
        _worldToScreen.SetWorldPoint(_worldPosition);

        SetText(damage);
        GameManager.Instance.time.GetController().StartCoroutine(Fade());
    }
Esempio n. 2
0
    protected virtual void InstantiateHitEffect(FightingEntity target)
    {
        FighterPositions positions = target.GetComponent <FighterPositions>();

        if (targetHitEffect != null && positions != null)
        {
            GameObject hitEffect = Instantiate(targetHitEffect, positions.damagePopup);
            hitEffect.transform.localScale = target.transform.localScale;
        }
    }
Esempio n. 3
0
    protected virtual void InstantiateParticleEffect(FightingEntity user, FightingEntity target)
    {
        FighterPositions userPositions   = user.GetComponent <FighterPositions>();
        FighterPositions targetPositions = target.GetComponent <FighterPositions>();

        if (particleHitEffectPrefab != null && userPositions != null && targetPositions != null)
        {
            GameObject            hitEffect = Instantiate(particleHitEffectPrefab, targetPositions.damagePopup);
            ParticleSystemsHelper psh       = hitEffect.GetComponent <ParticleSystemsHelper>();
            hitEffect.GetComponent <DestroyAfterSeconds>().duration = GetAnimWindup();
            psh.SetDestroyDuration(GetAnimWindup());
            psh.SetRenderOrder(target.sortingOrder + 1);
            psh.PositionEffect(userPositions.damagePopup, targetPositions.damagePopup);
            psh.Play();
        }
    }