예제 #1
0
        public virtual void PlayMoveSE(bool open)
        {
            if (!Singleton <Manager.Map> .IsInstance() || !Singleton <Resources> .IsInstance())
            {
                return;
            }
            Transform transform = ((Component)Manager.Map.GetCameraComponent())?.get_transform();

            if (Object.op_Equality((Object)transform, (Object)null))
            {
                return;
            }
            SoundPack   soundPack = Singleton <Resources> .Instance.SoundPack;
            DoorMatType key;

            SoundPack.DoorSEIDInfo doorSeidInfo;
            if (!DoorAnimData.MatTable.TryGetValue(this._id, ref key) || !soundPack.DoorIDTable.TryGetValue(key, out doorSeidInfo))
            {
                return;
            }
            int clipID = !open ? doorSeidInfo.CloseID : doorSeidInfo.OpenID;

            SoundPack.Data3D data;
            if (!soundPack.TryGetActionSEData(clipID, out data))
            {
                return;
            }
            Vector3 position     = ((Component)this).get_transform().get_position();
            float   num          = Mathf.Pow(data.MaxDistance + soundPack.Game3DInfo.MarginMaxDistance, 2f);
            Vector3 vector3      = Vector3.op_Subtraction(position, transform.get_position());
            float   sqrMagnitude = ((Vector3) ref vector3).get_sqrMagnitude();

            if ((double)num < (double)sqrMagnitude)
            {
                return;
            }
            AudioSource audioSource = soundPack.Play((SoundPack.IData)data, Sound.Type.GameSE3D, 0.0f);

            if (Object.op_Equality((Object)audioSource, (Object)null))
            {
                return;
            }
            audioSource.Stop();
            ((Component)audioSource).get_transform().set_position(position);
            audioSource.Play();
        }
예제 #2
0
        private void PlayWarpSE(int clipID, Transform t)
        {
            if (!Singleton <Manager.Map> .IsInstance() || !Singleton <Resources> .IsInstance())
            {
                return;
            }
            Transform transform = ((Component)Manager.Map.GetCameraComponent())?.get_transform();

            if (Object.op_Equality((Object)transform, (Object)null))
            {
                return;
            }
            SoundPack soundPack = Singleton <Resources> .Instance.SoundPack;

            SoundPack.Data3D data;
            if (!soundPack.TryGetActionSEData(clipID, out data))
            {
                return;
            }
            Vector3 position     = t.get_position();
            float   num          = Mathf.Pow(data.MaxDistance + soundPack.Game3DInfo.MarginMaxDistance, 2f);
            Vector3 vector3      = Vector3.op_Subtraction(position, transform.get_position());
            float   sqrMagnitude = ((Vector3) ref vector3).get_sqrMagnitude();

            if ((double)num < (double)sqrMagnitude)
            {
                return;
            }
            AudioSource audioSource = soundPack.Play((SoundPack.IData)data, Sound.Type.GameSE3D, 0.0f);

            if (Object.op_Equality((Object)audioSource, (Object)null))
            {
                return;
            }
            audioSource.Stop();
            ((Component)audioSource).get_transform().set_position(position);
            audioSource.Play();
        }