Beispiel #1
0
    // Token: 0x0600005C RID: 92 RVA: 0x000036CC File Offset: 0x000018CC
    public void UnlinkSpeakerFromRemoteVoice(PhotonVoiceSpeaker speaker)
    {
        List <KeyValuePair <int, byte> > list = new List <KeyValuePair <int, byte> >();

        foreach (KeyValuePair <KeyValuePair <int, byte>, PhotonVoiceSpeaker> keyValuePair in this.voiceSpeakers)
        {
            if (keyValuePair.Value == speaker)
            {
                list.Add(keyValuePair.Key);
                Debug.LogFormat("PUNVoice: Player {0} voice # {1} speaker unlinked.", new object[]
                {
                    keyValuePair.Key.Key,
                    keyValuePair.Key.Value
                });
            }
        }
        foreach (KeyValuePair <int, byte> key in list)
        {
            this.unlinkSpeaker(key);
        }
    }
    public void OnRemoteVoiceInfo(int channelId, int playerId, byte voiceId, Voice.VoiceInfo voiceInfo, ref Voice.RemoteVoiceOptions options)
    {
        options.OnDecodedFrameFloatAction += (frame) => OnAudioFrame(playerId, voiceId, frame);
        options.OnRemoteVoiceRemoveAction += () => OnRemoteVoiceRemove(playerId, voiceId);

        var key = new VoiceIdPair(playerId, voiceId);

        if (this.voiceSpeakers.ContainsKey(key))
        {
            Debug.LogWarningFormat("PUNVoice: Info duplicate for voice #{0} of player {1}", voiceId, playerId);
        }

        PhotonVoiceSpeaker speaker = null;

        PhotonVoiceSpeaker[] speakers = GameObject.FindObjectsOfType <PhotonVoiceSpeaker>();
        foreach (var s in speakers)
        {
            if (s.photonView.viewID == (int)voiceInfo.UserData)
            {
                speaker = s;
                break;
            }
        }

        if (speaker == null)
        {
            //            Debug.LogWarning("PUNVoice: No PhotonVoiceMic found for info of voice #" + voiceId + " of player " + playerId);
        }
        else
        {
            this.linkVoice(playerId, voiceId, voiceInfo, speaker);
        }

        // do not expose options to user code
        if (this.OnRemoteVoiceInfoAction != null)
        {
            this.OnRemoteVoiceInfoAction(playerId, voiceId, voiceInfo);
        }
    }
Beispiel #3
0
    // Token: 0x06000058 RID: 88 RVA: 0x00003460 File Offset: 0x00001660
    public void OnRemoteVoiceInfo(int channelId, int playerId, byte voiceId, VoiceInfo voiceInfo, ref RemoteVoiceOptions options)
    {
        options.OnDecodedFrameFloatAction = (Action <float[]>) Delegate.Combine(options.OnDecodedFrameFloatAction, new Action <float[]>(delegate(float[] frame)
        {
            this.OnAudioFrame(playerId, voiceId, frame);
        }));
        options.OnRemoteVoiceRemoveAction = (Action)Delegate.Combine(options.OnRemoteVoiceRemoveAction, new Action(delegate()
        {
            this.OnRemoteVoiceRemove(playerId, voiceId);
        }));
        KeyValuePair <int, byte> key = new KeyValuePair <int, byte>(playerId, voiceId);

        if (this.voiceSpeakers.ContainsKey(key))
        {
            Debug.LogWarningFormat("PUNVoice: Info duplicate for voice #{0} of player {1}", new object[]
            {
                voiceId,
                playerId
            });
        }
        PhotonVoiceSpeaker photonVoiceSpeaker = null;

        foreach (PhotonVoiceSpeaker photonVoiceSpeaker2 in Object.FindObjectsOfType <PhotonVoiceSpeaker>())
        {
            if (photonVoiceSpeaker2.photonView.viewID == (int)voiceInfo.UserData)
            {
                photonVoiceSpeaker = photonVoiceSpeaker2;
                break;
            }
        }
        if (!(photonVoiceSpeaker == null))
        {
            this.linkVoice(playerId, voiceId, voiceInfo, photonVoiceSpeaker);
        }
        if (this.OnRemoteVoiceInfoAction != null)
        {
            this.OnRemoteVoiceInfoAction(playerId, voiceId, voiceInfo);
        }
    }
Beispiel #4
0
 private void linkVoice(int playerId, byte voiceId, Voice.VoiceInfo voiceInfo, PhotonVoiceSpeaker speaker)
 {
     speaker.OnVoiceLinked(voiceInfo.SamplingRate, voiceInfo.Channels, voiceInfo.FrameDurationSamples, PhotonVoiceSettings.Instance.PlayDelayMs);
     var key = new VoiceIdPair(playerId, voiceId);
     PhotonVoiceSpeaker oldSpeaker;
     if (this.voiceSpeakers.TryGetValue(key, out oldSpeaker))
     {
         if (oldSpeaker == speaker)
         {
             return;
         }
         else
         {
             Debug.LogFormat("PUNVoice: Player {0} voice #{1} speaker replaced.", playerId, voiceId);
         }
     }
     else
     {
         Debug.LogFormat("PUNVoice: Player {0} voice #{1} speaker created.", playerId, voiceId);
     }
     this.voiceSpeakers[key] = speaker;
 }
Beispiel #5
0
    private void linkVoice(int playerId, byte voiceId, Voice.VoiceInfo voiceInfo, PhotonVoiceSpeaker speaker)
    {
        speaker.OnVoiceLinked(voiceInfo.SamplingRate, voiceInfo.Channels, voiceInfo.EncoderDelay, PhotonVoiceSettings.Instance.PlayDelayMs);
        var key = new VoiceIdPair(playerId, voiceId);
        PhotonVoiceSpeaker oldSpeaker;

        if (this.voiceSpeakers.TryGetValue(key, out oldSpeaker))
        {
            if (oldSpeaker == speaker)
            {
                return;
            }
            else
            {
                Debug.Log("PUNVoice: Player " + playerId + " voice #" + voiceId + " speaker replaced");
            }
        }
        else
        {
            Debug.Log("PUNVoice: Player " + playerId + " voice #" + voiceId + " speaker created");
        }
        this.voiceSpeakers[key] = speaker;
    }
Beispiel #6
0
    void Start()
    {
        s_tag = Util.S_ENEMY;

        Main_Bullet = Resources.Load("BulletPrefab/" + Util.S_SMG_BULLET_NAME) as GameObject;

        Weapon1    = new GeneralInitialize.GunParameter(Util.S_SMG_NAME, Util.S_SMG_BULLET_NAME, Util.F_SMG_BULLET_SPEED, Util.F_SMG_BULLET_DAMAGE, Util.F_SMG_MAGAZINE);
        Weapon2    = new GeneralInitialize.GunParameter(Util.S_SHIELD_NAME, " ", 0, 0, Util.F_SHIELD_HP);
        cur_Weapon = Weapon1;

        Shield = transform.Find("Shield").GetComponent <BoxCollider2D>();

        InitializeParam();

        cur_Weapon = Weapon1;
        Muzzle     = Muzzle1;
        spine_GunAnim.Skeleton.SetSkin(Weapon1.s_GunName);

        Shield.enabled = false;

        if (UI != null)
        {
            GameObject _uiGo = Instantiate(UI) as GameObject;
            _uiGo.SendMessage("SetTarget", this, SendMessageOptions.RequireReceiver);
        }
        else
        {
            Debug.LogWarning("<Color=Red><a>Missing</a></Color> PlayerUiPrefab reference on player Prefab.", this);
        }

        PhotonNetwork.sendRate            = 500 / Launcher.MaxPlayersPerRoom;
        PhotonNetwork.sendRateOnSerialize = 500 / Launcher.MaxPlayersPerRoom;

        // Find Photon Voice Recorder And Speaker
        recorder = this.GetComponent <PhotonVoiceRecorder>();
        speaker  = this.GetComponent <PhotonVoiceSpeaker>();
    }
Beispiel #7
0
    public void OnRemoteVoiceInfo(int channelId, int playerId, byte voiceId, Voice.VoiceInfo voiceInfo, out object localUserObject)
    {
        var key = new VoiceIdPair(playerId, voiceId);

        if (this.voiceSpeakers.ContainsKey(key))
        {
            Debug.LogWarningFormat("PUNVoice: Info duplicate for voice #{0} of player {1}", voiceId, playerId);
        }

        PhotonVoiceSpeaker speaker = null;

        PhotonVoiceSpeaker[] speakers = GameObject.FindObjectsOfType <PhotonVoiceSpeaker>();
        foreach (var s in speakers)
        {
            if (s.photonView.viewID == (int)voiceInfo.UserData)
            {
                speaker = s;
                break;
            }
        }

        if (speaker == null)
        {
            //            Debug.LogWarning("PUNVoice: No PhotonVoiceMic found for info of voice #" + voiceId + " of player " + playerId);
        }
        else
        {
            this.linkVoice(playerId, voiceId, voiceInfo, speaker);
        }

        if (this.OnRemoteVoiceInfoAction != null)
        {
            this.OnRemoteVoiceInfoAction(playerId, voiceId, voiceInfo);
        }

        localUserObject = null;
    }
Beispiel #8
0
    void Start()
    {
        s_tag = Util.S_ENEMY;

        Main_Bullet = Resources.Load("BulletPrefab/" + Util.S_AR_BULLET_NAME) as GameObject;
        Sub_Bullet  = Resources.Load("BulletPrefab/" + Util.S_LASER_NAME) as GameObject;

        Weapon1 = new GeneralInitialize.GunParameter(Util.S_AR_NAME, Util.S_AR_BULLET_NAME, Util.F_AR_BULLET_SPEED, Util.F_AR_BULLET_DAMAGE, Util.F_AR_MAGAZINE);
        Weapon2 = new GeneralInitialize.GunParameter(Util.S_LASER_NAME, Util.S_LASER_NAME, 0, Util.F_LASER_DAMAGE, Util.F_LASER_MAGAZINE);


        InitializeParam();


        cur_Weapon = Weapon1;
        Muzzle     = Muzzle1;
        spine_GunAnim.Skeleton.SetSkin(Weapon1.s_GunName);
        b_NeedtoRotate = true;
        //myLaser.SetActive(false);

        if (UI != null)
        {
            GameObject _uiGo = Instantiate(UI) as GameObject;
            _uiGo.SendMessage("SetTarget", this, SendMessageOptions.RequireReceiver);
        }
        else
        {
            Debug.LogWarning("<Color=Red><a>Missing</a></Color> PlayerUiPrefab reference on player Prefab.", this);
        }

        PhotonNetwork.sendRate            = 500 / Launcher.MaxPlayersPerRoom;
        PhotonNetwork.sendRateOnSerialize = 500 / Launcher.MaxPlayersPerRoom;

        // Find Photon Voice Recorder And Speaker
        recorder = this.GetComponent <PhotonVoiceRecorder>();
        speaker  = this.GetComponent <PhotonVoiceSpeaker>();
    }
 internal static void LinkSpeakerToRemoteVoice(PhotonVoiceSpeaker speaker)
 {
     instance.client.LinkSpeakerToRemoteVoice(speaker);
 }