Ejemplo n.º 1
0
    public void SpawnDamageIndicator(float damage)
    {
        var obj = StaticHelpers.GetOrCreateCachedPrefab("Damage Indicator", transform.position + transform.up * 1.5f, transform.rotation, Vector3.one, 0);
        var dmg = obj.GetComponent <DamageIndicator>();

        dmg.Init();
        dmg.SetDamage(damage);
        dmg.SetTeam(this == Player.Instance);
    }
Ejemplo n.º 2
0
    public static GameObject Spawn(bool player, float damage, Vector3 pos, Quaternion rot, Vector3 scale)
    {
        var hitbox = StaticHelpers.GetOrCreateCachedPrefab("Hitbox", pos, rot, scale, 0.2f);

        {
            // Set hitbox info
            var hit = hitbox.GetComponent <Hitbox>();
            hit.PlayerTeam = player;
            hit.Damage     = damage;
        }
        return(hitbox);
    }
Ejemplo n.º 3
0
    public override void OnHit(Collider other)
    {
        base.OnHit(other);

        //if ( Health > 0 )
        {
            var hit = other.transform.GetComponentInChildren <Hitbox>();
            if (hit != null)
            {
                bool isplayer = (this == Player.Instance);
                if (hit.PlayerTeam != isplayer)
                {
                    Vector3 dir = (transform.position - other.transform.position).normalized;
                    StaticHelpers.GetOrCreateCachedPrefab(name + " Hit", other.ClosestPointOnBounds(transform.position), Quaternion.LookRotation(dir, Vector3.up), Vector3.one);                          // * hit.Damage / 5 );

                    if (HealthBar != null)
                    {
                        HealthBar.value = Health / StartHealth;
                    }
                }
            }
        }
    }