private void CharacterAimBase_OnShoot(object sender, CharacterAim_Base.OnShootEventArgs e) { Shoot_Flash.AddFlash(e.gunEndPointPosition); WeaponTracer.Create(e.gunEndPointPosition, e.shootPosition); UtilsClass.ShakeCamera(.6f, .05f); SpawnBulletShellCasing(e.gunEndPointPosition, e.shootPosition); if (weaponType == WeaponType.Shotgun) { // Shotgun spread int shotgunShells = 4; for (int i = 0; i < shotgunShells; i++) { WeaponTracer.Create(e.gunEndPointPosition, e.shootPosition + UtilsClass.GetRandomDir() * Random.Range(-20f, 20f)); if (i % 2 == 0) { SpawnBulletShellCasing(e.gunEndPointPosition, e.shootPosition); } } } // Any enemy hit? RaycastHit2D raycastHit = Physics2D.Raycast(e.gunEndPointPosition, (e.shootPosition - e.gunEndPointPosition).normalized, Vector3.Distance(e.gunEndPointPosition, e.shootPosition)); if (raycastHit.collider != null) { EnemyHandler enemyHandler = raycastHit.collider.gameObject.GetComponent <EnemyHandler>(); if (enemyHandler != null) { Debug.Log("Cannot Damage!"); //enemyHandler.Damage(characterAimBase); } } }
private void PlayerBase_OnShoot(object sender, CharacterAim_Base.OnShootEventArgs e) { Vector3 shootDir = (e.shootPosition - e.gunEndPointPosition).normalized; BulletRaycast3D.Shoot(e.gunEndPointPosition, shootDir); Shoot_Flash.AddFlash(e.gunEndPointPosition, new Vector3(3, 2.7f)); Vector3 mouseWorldPosition = Mouse3D.GetMouseWorldPosition(); mouseWorldPosition.y = e.gunEndPointPosition.y; WeaponTracer.Create3D(e.gunEndPointPosition, mouseWorldPosition); }
private void EnemyAim_OnShoot(object sender, CharacterAim_Base.OnShootEventArgs e) { Shoot_Flash.AddFlash(e.gunEndPointPosition); WeaponTracer.Create(e.gunEndPointPosition, e.shootPosition); UtilsClass.ShakeCamera(.3f, .05f); SpawnBulletShellCasing(e.gunEndPointPosition, e.shootPosition); // Player hit? if (e.hitObject != null) { Player player = e.hitObject.GetComponent <Player>(); if (player != null) { player.Damage(this, EnemyMain.EnemyStats.damageMultiplier); } } }
private void PlayerSwapAimNormal_OnShoot(object sender, CharacterAim_Base.OnShootEventArgs e) { Shoot_Flash.AddFlash(e.gunEndPointPosition); WeaponTracer.Create(e.gunEndPointPosition, e.shootPosition); UtilsClass.ShakeCamera(.6f, .05f); SpawnBulletShellCasing(e.gunEndPointPosition, e.shootPosition); if (weapon.GetWeaponType() == Weapon.WeaponType.Shotgun) { // Shotgun spread int shotgunShells = 4; for (int i = 0; i < shotgunShells; i++) { WeaponTracer.Create(e.gunEndPointPosition, e.shootPosition + UtilsClass.GetRandomDir() * UnityEngine.Random.Range(-20f, 20f)); if (i % 2 == 0) { SpawnBulletShellCasing(e.gunEndPointPosition, e.shootPosition); } } } switch (weapon.GetWeaponType()) { default: case Weapon.WeaponType.Pistol: Sound_Manager.PlaySound(Sound_Manager.Sound.Pistol_Fire, GetPosition()); break; case Weapon.WeaponType.Rifle: Sound_Manager.PlaySound(Sound_Manager.Sound.Rifle_Fire, GetPosition()); break; case Weapon.WeaponType.Shotgun: Sound_Manager.PlaySound(Sound_Manager.Sound.Shotgun_Fire, GetPosition()); break; } // Any enemy hit? if (e.hitObject != null) { Enemy enemy = e.hitObject.GetComponent <Enemy>(); if (enemy != null) { enemy.Damage(this, weapon.GetDamageMultiplier()); } ShieldFieldTransformer shieldFieldTransformer = e.hitObject.GetComponent <ShieldFieldTransformer>(); if (shieldFieldTransformer != null) { shieldFieldTransformer.Damage(this, weapon.GetDamageMultiplier()); } } }
private void CharacterBase_OnShoot(object sender, CharacterAim_Base.OnShootEventArgs e) { Shoot_Flash.AddFlash(e.gunEndPointPosition); WeaponTracer.Create(e.gunEndPointPosition, e.shootPosition); ShakeCamera(.3f, .05f); // Any hit? Player? RaycastHit2D raycastHit = Physics2D.Raycast(e.gunEndPointPosition, (e.shootPosition - e.gunEndPointPosition).normalized, Vector3.Distance(e.gunEndPointPosition, e.shootPosition)); if (raycastHit.collider != null) { PlayerAim player = raycastHit.collider.gameObject.GetComponent <PlayerAim>(); if (player != null) { player.Damage(this); } } }
private void CharacterAimBase_OnShoot(object sender, CharacterAim_Base.OnShootEventArgs e) { Shoot_Flash.AddFlash(e.gunEndPointPosition); WeaponTracer.Create(e.gunEndPointPosition, e.shootPosition); UtilsClass.ShakeCamera(.6f, .05f); // Any enemy hit? RaycastHit2D raycastHit = Physics2D.Raycast(e.gunEndPointPosition, (e.shootPosition - e.gunEndPointPosition).normalized, Vector3.Distance(e.gunEndPointPosition, e.shootPosition)); if (raycastHit.collider != null) { EnemyHandler enemyHandler = raycastHit.collider.gameObject.GetComponent <EnemyHandler>(); if (enemyHandler != null) { Debug.Log("Cannot Damage!"); //enemyHandler.Damage(characterAimBase); } } }
private void CharacterAimBase_OnShoot(object sender, CharacterAim_Base.OnShootEventArgs e) { OnShoot?.Invoke(this, e); }
private void PlayerShootProjectiles_OnShoot(object sender, CharacterAim_Base.OnShootEventArgs e) { // Shoot shootAction(e.gunEndPointPosition, e.shootPosition); }