Beispiel #1
0
    public void Despawn(string key)
    {
        FXUnit unit = null;

        if (instantiatedPrefabs.TryGetValue(key, out unit))
        {
            // Debug.Log("[FXSpawner] despawn!");
            unit.Despawn();
        }
    }
Beispiel #2
0
    FXUnit spawnInternal(FXData data)
    {
        FXUnit unit = (FXUnit)Instantiate(data.prefab);

        unit.Init(data, namedTransformsMap[data.spawnPoint].t);
        if (data.persist)
        {
            instantiatedPrefabs[data.key] = unit;
        }
        return(unit);
    }
Beispiel #3
0
    public virtual void DoHeal(Damage dmg)
    {
        Debug.Log("[DamageEvent] healing " + gameObject.name + " for " + dmg.amount + " current HP : " + hp);
        hp += dmg.amount;
        hp  = Math.Min(hp, fullHP);
        OnDamageTaken.Invoke(dmg);
        FXUnit unit = fx.Spawn(Keys.Heal);

        Util.RandomizePosition(unit.transform, 0.5f, 0.1f);

        FXUnit uiUnit = fx.Spawn(Keys.DamageUI);

        uiUnit.label.text = "<color=green>+" + Mathf.Round(dmg.amount * m.units.levellingHack) + "</color>";
        Util.RandomizePosition(uiUnit.transform, 0.5f, 0.1f);
        m.afx.PlayFX(Keys.Heal);
    }
Beispiel #4
0
    void displayDamageFX(Damage dmg)
    {
        m.afx.PlayFX(Keys.Damage);
        if (dmg.flavor != AttackFlavor.Miss)
        {
            FXUnit unit = fx.Spawn(Keys.Damage);
            Util.RandomizePosition(unit.transform, 0.5f, 0.1f);
        }

        FXUnit uiUnit = fx.Spawn(Keys.DamageUI);

        if (dmg.flavor != AttackFlavor.Miss)
        {
            uiUnit.label.text = "<color=white>-" + Mathf.Round(dmg.amount * m.units.levellingHack) + "</color>";
        }
        else
        {
            uiUnit.label.text = "<color=white>MISS</color>";
        }
        Util.RandomizePosition(uiUnit.transform, 0.5f, 0.1f);
    }