public void Hide() { if (fromWeapon != null && string.IsNullOrEmpty(fromWeapon.WeaponSoundModel.ImpactSound) == false) { FMODUtil.PlayOnPosition(fromWeapon.WeaponSoundModel.ImpactSound, transform.position); } if (inAirLoop.isValid() == true) { inAirLoop.stop(FMOD.Studio.STOP_MODE.ALLOWFADEOUT); inAirLoop.release(); } owningPlayer = -1; gameObject.SetActive(false); if (ignoringCollider) { Physics2D.IgnoreCollision(ignoringCollider, OwnCollider, false); } ignoringCollider = null; }
public override void OnStartClient() { if (isServer) { return; } ShooterHealth = shooterObject.GetComponent <Health>(); SpriteRenderer.sprite = fromWeapon.BulletInfo.Sprite; if (fromWeapon != null && string.IsNullOrEmpty(fromWeapon.WeaponSoundModel.InAirLoop) == false) { inAirLoop = RuntimeManager.CreateInstance(fromWeapon.WeaponSoundModel.InAirLoop); inAirLoop.set3DAttributes(RuntimeUtils.To3DAttributes(transform)); inAirLoop.start(); FMODUtil.PlayOnPosition(fromWeapon.WeaponSoundModel.ImpactSound, transform.position); } gameObject.layer = layer; if (Player.LocalPlayer?.playerId == owningPlayer) { gameObject.SetActive(false); } else { /* * Debug.Log(velocity); * Body.velocity = velocity; */ /* * Ssm.setPosition(transform.position, true); * StateMirror stateMirror = new StateMirror(); * stateMirror.copyFromSmoothSync(Ssm); * stateMirror.velocity = velocity; * Debug.Log(Ssm.stateCount); * Ssm.addState(stateMirror); */ } }
public override void OnBulletImpacted(Vector3 position, Health inflicter, bool hitHealth) { FMODUtil.PlayOnPosition(fmodEvent, position); }