protected override void OnDisable() { #if !DISABLE_AKSOUNDENGINE base.OnDisable(); if (multiPositionTypeLabel == MultiPositionTypeLabel.MultiPosition_Mode) { AkMultiPosEvent eventPosList = multiPosEventTree[eventID]; if (eventPosList.list.Count == 1) { multiPosEventTree.Remove(eventID); return; } else { eventPosList.list.Remove(this); AkPositionArray positionArray = BuildMultiDirectionArray(eventPosList); //Set multiple positions AkSoundEngine.SetMultiplePositions(eventPosList.list[0].gameObject, positionArray, (ushort)positionArray.Count, MultiPositionType.MultiPositionType_MultiSources); } } #endif }
protected override void OnEnable() { #if !DISABLE_AKSOUNDENGINE base.OnEnable(); if (multiPositionTypeLabel == MultiPositionTypeLabel.Simple_Mode) { AkGameObj[] gameObj = gameObject.GetComponents <AkGameObj>(); for (int i = 0; i < gameObj.Length; i++) { gameObj[i].enabled = true; } } else if (multiPositionTypeLabel == MultiPositionTypeLabel.Large_Mode) { AkGameObj[] gameObj = gameObject.GetComponents <AkGameObj>(); for (int i = 0; i < gameObj.Length; i++) { gameObj[i].enabled = false; } AkPositionArray positionArray = BuildAkPositionArray(); AkSoundEngine.SetMultiplePositions(gameObject, positionArray, (ushort)positionArray.Count, MultiPositionType.MultiPositionType_MultiSources); } else if (multiPositionTypeLabel == MultiPositionTypeLabel.MultiPosition_Mode) { AkGameObj[] gameObj = gameObject.GetComponents <AkGameObj>(); for (int i = 0; i < gameObj.Length; i++) { gameObj[i].enabled = false; } AkMultiPosEvent eventPosList; if (multiPosEventTree.TryGetValue(eventID, out eventPosList)) { if (!eventPosList.list.Contains(this)) { eventPosList.list.Add(this); } } else { eventPosList = new AkMultiPosEvent(); eventPosList.list.Add(this); multiPosEventTree.Add(eventID, eventPosList); } AkPositionArray positionArray = BuildMultiDirectionArray(eventPosList); //Set multiple positions AkSoundEngine.SetMultiplePositions(eventPosList.list[0].gameObject, positionArray, (ushort)positionArray.Count, MultiPositionType.MultiPositionType_MultiSources); } #endif }
private AkPositionArray BuildAkPositionArray() { AkPositionArray akPositionArray = new AkPositionArray((uint)this.multiPositionArray.Count); for (int i = 0; i < this.multiPositionArray.Count; i++) { akPositionArray.Add(base.transform.position + this.multiPositionArray[i], base.transform.forward); } return(akPositionArray); }
public AkPositionArray BuildMultiDirectionArray(ref AkMultiPosEvent eventPosList) { AkPositionArray akPositionArray = new AkPositionArray((uint)eventPosList.list.Count); for (int i = 0; i < eventPosList.list.Count; i++) { akPositionArray.Add(eventPosList.list[i].transform.position, eventPosList.list[i].transform.forward); } return(akPositionArray); }
public AkPositionArray BuildMultiplePositions(List <SoundPoint> multiPositionList) { AkPositionArray positionArray = new AkPositionArray((uint)multiPositionList.Count); for (int i = 0; i < multiPositionList.Count; i++) { positionArray.Add(multiPositionList[i].gameObject.transform.position, multiPositionList[i].gameObject.transform.forward, multiPositionList[i].gameObject.transform.up); } return(positionArray); }
public AkPositionArray BuildMultiDirectionArray( ref AkMultiPosEvent eventPosList) { AkPositionArray positionArray = new AkPositionArray((uint)eventPosList.list.Count); for (int i = 0; i < eventPosList.list.Count; i++) { positionArray.Add (eventPosList.list [i].transform.position, eventPosList.list [i].transform.forward); } return positionArray; }
AkPositionArray BuildAkPositionArray() { AkPositionArray positionArray = new AkPositionArray((uint)multiPositionArray.Count); for (int i = 0; i < multiPositionArray.Count; i++) { positionArray.Add(transform.position + multiPositionArray[i], transform.forward, transform.up); } return(positionArray); }
public AkPositionArray BuildMultiDirectionArray(AkMultiPosEvent eventPosList) { var positionArray = new AkPositionArray((uint)eventPosList.list.Count); for (var i = 0; i < eventPosList.list.Count; i++) { positionArray.Add(eventPosList.list[i].transform.position, eventPosList.list[i].transform.forward, eventPosList.list[i].transform.up); } return(positionArray); }
private void OnDisable() { if (this.multiPositionTypeLabel == MultiPositionTypeLabel.MultiPosition_Mode) { AkMultiPosEvent akMultiPosEvent = AkAmbient.multiPosEventTree[this.eventID]; if (akMultiPosEvent.list.Count == 1) { AkAmbient.multiPosEventTree.Remove(this.eventID); return; } akMultiPosEvent.list.Remove(this); AkPositionArray akPositionArray = this.BuildMultiDirectionArray(ref akMultiPosEvent); AkSoundEngine.SetMultiplePositions(akMultiPosEvent.list[0].gameObject, akPositionArray, (ushort)akPositionArray.Count, MultiPositionType.MultiPositionType_MultiSources); } }
//Update multiposition for parent destroyed void UpdateMultiPosition(SoundPoint soundpoint) { SPMultiPosEvent eventPosList = multiPosEventTree[soundpoint.startEvent.Name]; SoundPoint parentSoundPoint = eventPosList.parentSoundPoint; if (eventPosList.list.Count == 0) { DestroySoundPoint(parentSoundPoint); return; } AkPositionArray positionArray = BuildMultiplePositions(eventPosList.list); AkSoundEngine.SetMultiplePositions(parentSoundPoint.gameObject, positionArray, (ushort)positionArray.Count, AkMultiPositionType.MultiPositionType_MultiSources); }
private void OnDisable() { if (this.multiPositionTypeLabel == MultiPositionTypeLabel.MultiPosition_Mode) { AkMultiPosEvent eventPosList = multiPosEventTree[base.eventID]; if (eventPosList.list.Count == 1) { multiPosEventTree.Remove(base.eventID); } else { eventPosList.list.Remove(this); AkPositionArray array = this.BuildMultiDirectionArray(ref eventPosList); AkSoundEngine.SetMultiplePositions(eventPosList.list[0].gameObject, array, (ushort)array.Count, MultiPositionType.MultiPositionType_MultiSources); } } }
private void OnEnable() { if (this.multiPositionTypeLabel == MultiPositionTypeLabel.Simple_Mode) { AkGameObj[] components = base.gameObject.GetComponents <AkGameObj>(); for (int i = 0; i < components.Length; i++) { components[i].enabled = true; } } else if (this.multiPositionTypeLabel == MultiPositionTypeLabel.Large_Mode) { AkGameObj[] components2 = base.gameObject.GetComponents <AkGameObj>(); for (int j = 0; j < components2.Length; j++) { components2[j].enabled = false; } AkPositionArray akPositionArray = this.BuildAkPositionArray(); AkSoundEngine.SetMultiplePositions(base.gameObject, akPositionArray, (ushort)akPositionArray.Count, MultiPositionType.MultiPositionType_MultiSources); } else if (this.multiPositionTypeLabel == MultiPositionTypeLabel.MultiPosition_Mode) { AkGameObj[] components3 = base.gameObject.GetComponents <AkGameObj>(); for (int k = 0; k < components3.Length; k++) { components3[k].enabled = false; } AkMultiPosEvent akMultiPosEvent; if (AkAmbient.multiPosEventTree.TryGetValue(this.eventID, out akMultiPosEvent)) { if (!akMultiPosEvent.list.Contains(this)) { akMultiPosEvent.list.Add(this); } } else { akMultiPosEvent = new AkMultiPosEvent(); akMultiPosEvent.list.Add(this); AkAmbient.multiPosEventTree.Add(this.eventID, akMultiPosEvent); } AkPositionArray akPositionArray2 = this.BuildMultiDirectionArray(ref akMultiPosEvent); AkSoundEngine.SetMultiplePositions(akMultiPosEvent.list[0].gameObject, akPositionArray2, (ushort)akPositionArray2.Count, MultiPositionType.MultiPositionType_MultiSources); } }
private void OnEnable() { if (this.multiPositionTypeLabel == MultiPositionTypeLabel.Simple_Mode) { AkGameObj[] components = base.gameObject.GetComponents <AkGameObj>(); for (int i = 0; i < components.Length; i++) { components[i].enabled = true; } } else if (this.multiPositionTypeLabel == MultiPositionTypeLabel.Large_Mode) { AkGameObj[] objArray2 = base.gameObject.GetComponents <AkGameObj>(); for (int j = 0; j < objArray2.Length; j++) { objArray2[j].enabled = false; } AkPositionArray array = this.BuildAkPositionArray(); AkSoundEngine.SetMultiplePositions(base.gameObject, array, (ushort)array.Count, MultiPositionType.MultiPositionType_MultiSources); } else if (this.multiPositionTypeLabel == MultiPositionTypeLabel.MultiPosition_Mode) { AkMultiPosEvent event2; AkGameObj[] objArray3 = base.gameObject.GetComponents <AkGameObj>(); for (int k = 0; k < objArray3.Length; k++) { objArray3[k].enabled = false; } if (multiPosEventTree.TryGetValue(base.eventID, out event2)) { if (!event2.list.Contains(this)) { event2.list.Add(this); } } else { event2 = new AkMultiPosEvent(); event2.list.Add(this); multiPosEventTree.Add(base.eventID, event2); } AkPositionArray array2 = this.BuildMultiDirectionArray(ref event2); AkSoundEngine.SetMultiplePositions(event2.list[0].gameObject, array2, (ushort)array2.Count, MultiPositionType.MultiPositionType_MultiSources); } }
void OnDisable() { if (multiPositionTypeLabel == MultiPositionTypeLabel.MultiPosition_Mode) { AkMultiPosEvent eventPosList = multiPosEventTree[eventID]; if (eventPosList.list.Count == 1) { multiPosEventTree.Remove(eventID); return; } else { eventPosList.list.Remove(this); AkPositionArray positionArray = BuildMultiDirectionArray(eventPosList); AkSoundEngine.SetMultiplePositions(eventPosList.list[0].gameObject, positionArray, (ushort)positionArray.Count, MultiPositionType); } } }
void SetMultiPosition(SoundPoint soundpoint) { SPMultiPosEvent multiPosEvent = multiPosEventTree[soundpoint.startEvent.Name]; SoundPoint soundPointParent = multiPosEvent.parentSoundPoint; AkGameObj[] gameObj = soundpoint.gameObject.GetComponents <AkGameObj>(); for (int i = 0; i < gameObj.Length; i++) { gameObj[i].enabled = false; } AkPositionArray positionArray = BuildMultiplePositions(multiPosEvent.list); AkSoundEngine.SetMultiplePositions(soundPointParent.gameObject, positionArray, (ushort)positionArray.Count, AkMultiPositionType.MultiPositionType_MultiSources); if (!multiPosEvent.eventIsPlaying) { soundpoint.startEvent.Post(soundPointParent.gameObject, (uint)AkCallbackType.AK_EndOfEvent, AKCallBackFinishedPlaying); //AkSoundEngine.PostEvent(soundpoint.eventName, soundPointParent.gameObject, (uint)AkCallbackType.AK_EndOfEvent, AKCallBackFinishedPlaying, null, 0, null, AkSoundEngine.AK_INVALID_PLAYING_ID); //AkSoundEngine.PostEvent() multiPosEvent.eventIsPlaying = true; } }
private AkPositionArray BuildAkPositionArray() { var validPositionList = new System.Collections.Generic.List <AkAmbientLargeModePositioner>(); for (int i = 0; i < LargeModePositions.Length; ++i) { if (LargeModePositions[i] != null) { if (!validPositionList.Contains(LargeModePositions[i])) { validPositionList.Add(LargeModePositions[i]); } } } var positionArray = new AkPositionArray((uint)validPositionList.Count); for (int i = 0; i < validPositionList.Count; ++i) { positionArray.Add(validPositionList[i].Position, validPositionList[i].Forward, validPositionList[i].Up); } return(positionArray); }
public static AKRESULT SetMultiplePositions(UnityEngine.GameObject in_GameObjectID, AkPositionArray in_pPositions, ushort in_NumPositions) { uint tempin_GameObjectID; if ( in_GameObjectID != null ) { tempin_GameObjectID = (uint)in_GameObjectID.GetInstanceID(); // Note: if AkGameObjectTracker is already attached, the following code will be bypassed. if (in_GameObjectID.GetComponent<AkGameObject>() == null) { in_GameObjectID.AddComponent<AkGameObject>(); } } else { tempin_GameObjectID = unchecked((uint)-1); } { AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetMultiplePositions__SWIG_1(tempin_GameObjectID, in_pPositions.m_Buffer, in_NumPositions); return ret; } }
public static AKRESULT SetMultiplePositions(UnityEngine.GameObject in_GameObjectID, AkPositionArray in_pPositions, ushort in_NumPositions) { uint tempin_GameObjectID; if ( in_GameObjectID != null ) { tempin_GameObjectID = (uint)in_GameObjectID.GetInstanceID(); // Note: if AkGameObjectTracker is already attached, the following code will be bypassed. if (in_GameObjectID.GetComponent<AkGameObject>() == null) { in_GameObjectID.AddComponent<AkGameObject>(); // Note: We have missed AkGameObject.Awake() of this run to register. // So we take over its work by inlining it here. AkSoundEngine.RegisterGameObj(in_GameObjectID, in_GameObjectID.name); //Set the original position AkSoundEngine.SetObjectPosition( in_GameObjectID, in_GameObjectID.transform.position.x, in_GameObjectID.transform.position.y, in_GameObjectID.transform.position.z, in_GameObjectID.transform.forward.x, in_GameObjectID.transform.forward.y, in_GameObjectID.transform.forward.z ); } } else { tempin_GameObjectID = unchecked((uint)-1); } { AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetMultiplePositions__SWIG_1(tempin_GameObjectID, in_pPositions.m_Buffer, in_NumPositions); return ret; } }
public static AKRESULT SetMultiplePositions(ComponentBind.Entity in_GameObjectID, AkPositionArray in_pPositions, ushort in_NumPositions, MultiPositionType in_eMultiPositionType) { uint tempin_GameObjectID; if ( in_GameObjectID != null ) { tempin_GameObjectID = getGameObjectID(in_GameObjectID); // Note: if AkGameObjectTracker is already attached, the following code will be bypassed. if (in_GameObjectID.Get<AkGameObject>() == null) { in_GameObjectID.Add(new AkGameObject()); } } else { tempin_GameObjectID = unchecked((uint)-1); } { AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetMultiplePositions__SWIG_0(tempin_GameObjectID, in_pPositions.m_Buffer, in_NumPositions, (int)in_eMultiPositionType); return ret; } }
public static AKRESULT SetMultiplePositions(UnityEngine.GameObject in_GameObjectID, AkPositionArray in_pPositions, ushort in_NumPositions) { AkAutoObject tempObj = null; uint tempin_GameObjectID; if ( in_GameObjectID != null ) { tempin_GameObjectID = (uint)in_GameObjectID.GetInstanceID(); if (in_GameObjectID.activeInHierarchy) { if (in_GameObjectID.GetComponent<AkGameObj>() == null) { in_GameObjectID.AddComponent<AkGameObj>(); } } else { //Object not active. AkGameObj will not work. Use a temporary game object. //This will automatically unregister at the end of this scope. tempObj = new AkAutoObject(in_GameObjectID); tempin_GameObjectID = (uint)tempObj.m_id; //Silence warning } } else { tempin_GameObjectID = unchecked((uint)-1); } { AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetMultiplePositions__SWIG_1(tempin_GameObjectID, in_pPositions.m_Buffer, in_NumPositions); return ret; } }
public static AKRESULT SetMultiplePositions(UnityEngine.GameObject in_GameObjectID, AkPositionArray in_pPositions, ushort in_NumPositions) { AkAutoObject tempObj = null; uint tempin_GameObjectID = (uint)AutoRegisterAkGameObj(in_GameObjectID, ref tempObj); { AKRESULT ret = (AKRESULT)AkSoundEnginePINVOKE.CSharp_SetMultiplePositions__SWIG_1(tempin_GameObjectID, in_pPositions.m_Buffer, in_NumPositions); return ret; } }
AkPositionArray BuildAkPositionArray() { AkPositionArray positionArray = new AkPositionArray((uint)multiPositionArray.Count); for (int i = 0; i < multiPositionArray.Count; i++) { positionArray.Add( transform.position + multiPositionArray[i], transform.forward); } return positionArray; }