// 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); } }
// 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); } }
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; }
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; }
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>(); }
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; }
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); }