SetMultiplePositions() public static method

public static SetMultiplePositions ( UnityEngine in_GameObjectID, AkChannelEmitterArray in_pPositions, ushort in_NumPositions ) : AKRESULT
in_GameObjectID UnityEngine
in_pPositions AkChannelEmitterArray
in_NumPositions ushort
return AKRESULT
    protected override void Start()
    {
        base.Start();

        if (multiPositionTypeLabel == MultiPositionTypeLabel.Simple_Mode)
        {
            var gameObj = gameObject.GetComponents <AkGameObj>();
            for (var i = 0; i < gameObj.Length; i++)
            {
                gameObj[i].enabled = true;
            }
        }
        else if (multiPositionTypeLabel == MultiPositionTypeLabel.Large_Mode)
        {
#if UNITY_EDITOR
            if (!UnityEditor.EditorApplication.isPlaying)
            {
                return;
            }
#endif
            var gameObj = gameObject.GetComponents <AkGameObj>();
            for (var i = 0; i < gameObj.Length; i++)
            {
                gameObj[i].enabled = false;
            }

            var positionArray = BuildAkPositionArray();
            AkSoundEngine.SetMultiplePositions(gameObject, positionArray, (ushort)positionArray.Count, MultiPositionType);
        }
    }
Ejemplo n.º 2
0
    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
    }
    private void OnEnable()
    {
        if (multiPositionTypeLabel == MultiPositionTypeLabel.MultiPosition_Mode)
        {
            var gameObj = gameObject.GetComponents <AkGameObj>();
            for (var i = 0; i < gameObj.Length; i++)
            {
                gameObj[i].enabled = false;
            }

            AkMultiPosEvent eventPosList;

            if (multiPosEventTree.TryGetValue(data.Id, out eventPosList))
            {
                if (!eventPosList.list.Contains(this))
                {
                    eventPosList.list.Add(this);
                }
            }
            else
            {
                eventPosList = new AkMultiPosEvent();
                eventPosList.list.Add(this);
                multiPosEventTree.Add(data.Id, eventPosList);
            }

            var positionArray = BuildMultiDirectionArray(eventPosList);

            //Set multiple positions
            AkSoundEngine.SetMultiplePositions(eventPosList.list[0].gameObject, positionArray, (ushort)positionArray.Count,
                                               MultiPositionType);
        }
    }
Ejemplo n.º 4
0
    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
    }
Ejemplo n.º 5
0
    private void OnEnable()
    {
        switch (multiPositionTypeLabel)
        {
        case MultiPositionTypeLabel.Simple_Mode:
            var gameObj = gameObject.GetComponents <AkGameObj>();
            for (var i = 0; i < gameObj.Length; i++)
            {
                gameObj[i].enabled = true;
            }

            break;

        case MultiPositionTypeLabel.Large_Mode:
            var gameObj1 = gameObject.GetComponents <AkGameObj>();
            for (var i = 0; i < gameObj1.Length; i++)
            {
                gameObj1[i].enabled = false;
            }

            var positionArray1 = BuildAkPositionArray();
            AkSoundEngine.SetMultiplePositions(gameObject, positionArray1, (ushort)positionArray1.Count, MultiPositionType);
            break;

        case MultiPositionTypeLabel.MultiPosition_Mode:
            var gameObj2 = gameObject.GetComponents <AkGameObj>();
            for (var i = 0; i < gameObj2.Length; i++)
            {
                gameObj2[i].enabled = false;
            }

            AkMultiPosEvent eventPosList;

            if (multiPosEventTree.TryGetValue(data.Id, out eventPosList))
            {
                if (!eventPosList.list.Contains(this))
                {
                    eventPosList.list.Add(this);
                }
            }
            else
            {
                eventPosList = new AkMultiPosEvent();
                eventPosList.list.Add(this);
                multiPosEventTree.Add(data.Id, eventPosList);
            }

            var positionArray2 = BuildMultiDirectionArray(eventPosList);

            //Set multiple positions
            AkSoundEngine.SetMultiplePositions(eventPosList.list[0].gameObject, positionArray2, (ushort)positionArray2.Count,
                                               MultiPositionType);
            break;
        }
    }
Ejemplo n.º 6
0
 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);
     }
 }
Ejemplo n.º 7
0
    //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);
    }
Ejemplo n.º 8
0
 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);
         }
     }
 }
Ejemplo n.º 9
0
 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);
     }
 }
Ejemplo n.º 10
0
 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);
     }
 }
Ejemplo n.º 11
0
    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);
            }
        }
    }
    private void OnDisable()
    {
        if (multiPositionTypeLabel == MultiPositionTypeLabel.MultiPosition_Mode)
        {
            var eventPosList = multiPosEventTree[data.Id];

            if (eventPosList.list.Count == 1)
            {
                multiPosEventTree.Remove(data.Id);
            }
            else
            {
                eventPosList.list.Remove(this);

                var positionArray = BuildMultiDirectionArray(eventPosList);
                AkSoundEngine.SetMultiplePositions(eventPosList.list[0].gameObject, positionArray, (ushort)positionArray.Count,
                                                   MultiPositionType);
            }
        }
    }
Ejemplo n.º 13
0
    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;
        }
    }