private void SetRoomPortal() { if (!enabled) { return; } if (IsValid) { portalTransform.Set(portalCollider.bounds.center, transform.forward, transform.up); var extentVector = UnityEngine.Vector3.Scale(portalCollider.size, transform.lossyScale) / 2; // in case extent is negative, get the absolute value AkExtent extent = new AkExtent( UnityEngine.Mathf.Abs(extentVector.x), UnityEngine.Mathf.Abs(extentVector.y), UnityEngine.Mathf.Abs(extentVector.z)); AkSoundEngine.SetRoomPortal(GetID(), portalTransform, extent, active, frontRoomID, backRoomID); portalSet = true; } else { UnityEngine.Debug.LogError(name + " has identical front and back rooms. It will not be sent to Spatial Audio."); if (portalSet) { AkSoundEngine.RemovePortal(GetID()); } portalSet = false; } }
internal static global::System.IntPtr getCPtr(AkExtent obj) { return((obj == null) ? global::System.IntPtr.Zero : obj.swigCPtr); }