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); }
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); }
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; } } } } }