void OnTriggerEnter(Collider other) { if (other.gameObject.tag == "CheckPoint" && isTriggerd != true) { Debug.Log("Reached"); isTriggerd = true; MoveEnemy(); } BulletDamage beam = other.GetComponent <BulletDamage>(); if (beam) { Debug.Log("Hit"); Health -= beam.GetDamage(); beam.Hit(); Destroy(beam); if (Health <= 0) { DeathSound.Play(); Destroy(gameObject); enemyCount--; } } }
// Use this for initialization void Start() { monster = GetComponent <Monster>(); anim3 = gameObject.GetComponent <Animator>(); playerControl = GetComponent <PlayerControl>(); bulletDamage = GetComponent <BulletDamage>(); }
void Shoot() { Instantiate(tempBullet, bulletSpawn.position, bulletSpawn.rotation); BulletDamage bulletDamage = tempBullet.GetComponent <BulletDamage>(); bulletDamage.attackBoost = AttackBooster; sound.PlayOneShot(blast); //AudioSource.PlayClipAtPoint (blast, transform.position); }
void OnTriggerEnter(Collider collider) { if ((bulletHitMask.value & 1 << collider.gameObject.layer) != 0) { BulletUtil.deactivateBullet(gameObject); switch (bulletType) { case ShooterTypeEnum.FRIENDLY: FriendlyBulletObjectPool.instance.returnPooledObject(gameObject); break; case ShooterTypeEnum.HOSTILE: EnemyBulletObjectPool.instance.returnPooledObject(gameObject); break; } GameObject impactEffectParticleSystem; switch (collider.gameObject.layer) { case 6: //Player. LivesManager.instance.decrementLivesWithInvul(); break; case 9: // Boundary. break; case 10: // Indestructible. impactEffectParticleSystem = (GameObject)Instantiate(impactEffect, transform.position, transform.rotation); Destroy(impactEffectParticleSystem, 1.0f); break; default: impactEffectParticleSystem = (GameObject)Instantiate(impactEffect, transform.position, transform.rotation); Destroy(impactEffectParticleSystem, 1.0f); BaseHealth collidedHealthComponent = collider.gameObject.GetComponent <BaseHealth>(); BulletDamage damageComponent = gameObject.GetComponent <BulletDamage>(); if (collidedHealthComponent != null && damageComponent != null) { collidedHealthComponent.takeDamage(damageComponent.damage); } break; } } }
private void OnTriggerEnter2D(Collider2D collision) { Enemy enemy = collision.GetComponent <Enemy>(); BulletDamage bullet = collision.GetComponent <BulletDamage>(); if (collision.tag == "PowerUp") { powerUp++; if (powerUp > 6) { powerUp = 0; life++; } Destroy(collision.gameObject); } if (!isInvincible) { if (collision.tag == "Stage") { Hurt(1); } else { if (collision.tag == "EnemyBullet") { Hurt(bullet.damage); Destroy(collision.gameObject); } } if (enemy != null) { Die(); if (enemy.canColliderDesity) { enemy.Hurt(enemy.hp); } else { enemy.Hurt(3); } } } }
public void Execute(Entity ent, int idx, ref Health health, [ReadOnly] ref Translation pos) { // run through all the collisions for this entity int totalDamage = 0; NativeMultiHashMapIterator <Entity> iter; CollisionInfo info; if (collisions.TryGetFirstValue(ent, out info, out iter)) { do { BulletDamage damageInfo = damageMap[info.otherEnt]; totalDamage += damageInfo.damage; effectReqUtil.CreateParticleRequest(info.contactPos, EffectRequestSystem.ParticleType.HitSpark); // handle events to happen when bullet hits if (damageInfo.pierceCount > 0) { // causes a pierce to count once per frame --damageInfo.pierceCount; commandBuffer.SetComponent(idx, info.otherEnt, damageInfo); } else { commandBuffer.DestroyEntity(idx, info.otherEnt); } }while(collisions.TryGetNextValue(out info, ref iter)); // take damage and die health.health -= totalDamage; if (health.health <= 0) { commandBuffer.DestroyEntity(idx, ent); effectReqUtil.CreateParticleRequest(pos.Value, EffectRequestSystem.ParticleType.Explosion); } } }
protected virtual void OnTriggerEnter2D(Collider2D collision) { if (!invincible) { for (int i = 0; i < hurtTags.Length; i++) { if (collision.tag == hurtTags[i]) { int damage = maxHp; BulletDamage bullet = collision.GetComponent <BulletDamage>(); if (bullet) { damage = bullet.damage; bullet.OnHit(); } Hurt(damage); } } } }
protected override void InitWeapon() { ShotPosMarker[] markers = GetComponentsInChildren <ShotPosMarker>(); if (markers.Length > 0) { shotPosTrans = new Transform[10]; for (int i = 0; i < markers.Length; i++) { shotPosTrans[i] = markers[i].transform; } } weapons[0] = new NormalWeapon(shotPosTrans, true); weapons[1] = new DoubleCannon(shotPosTrans, true); weapons[2] = new Laser(shotPosTrans, true); missile = new Missile(shotPosTrans, true); laser = new BulletDamage(); currentWeaponIdx = 0; currentWeapon = weapons[currentWeaponIdx]; }
void shoot() { for (int i = 0; i < targetArray.Length; i++) { GameObject bullet = shooterType == ShooterTypeEnum.FRIENDLY ? FriendlyBulletObjectPool.instance.getPooledObject() : EnemyBulletObjectPool.instance.getPooledObject(); Vector3 launchOrigin = new Vector3(transform.position.x, bullet.transform.position.y, transform.position.z) + targetArray[i].normalized * GameConstants.gridSize / 2; if (bullet != null) { bullet.transform.position = launchOrigin; bullet.transform.rotation = transform.rotation; } else { bullet = (GameObject)Instantiate(bulletPrefab.gameObject, launchOrigin, transform.rotation); } BulletUtil.activateBullet(bullet); BulletMovement bulletMovementComponent = bullet.GetComponent <BulletMovement>(); if (bulletMovementComponent != null) { bulletMovementComponent.setTarget(targetArray[i]); bulletMovementComponent.setVelocity(velocity); bulletMovementComponent.setType(shooterType); } BulletDamage bulletDamageComponent = bullet.GetComponent <BulletDamage>(); if (bulletDamageComponent != null) { bulletDamageComponent.setDamage(damage); } } }
void Start() { bulletDamage = GetComponent <BulletDamage>(); }