private void OnMessageEventHeader(UnityEngine.Networking.PlayerConnection.MessageEventArgs args) { var bf = new BinaryFormatter(); var ms = new MemoryStream(args.data); textureHeader = (PlayerViewPlayer.TextureHeader)bf.Deserialize(ms); }
// ---------------------------------------------------------------------------------------- // <summary> メッセージ受信時のCB </summary> // ---------------------------------------------------------------------------------------- private void OnMessageEvent(UnityEngine.Networking.PlayerConnection.MessageEventArgs args) { if (textureHeader != null) { if ((playerViewTexture == null) || (playerViewTexture.width != textureHeader.width) || (playerViewTexture.height != textureHeader.height) || (playerViewTexture.format != textureHeader.textureFormat) ) { if (playerViewTexture != null) { DestroyImmediate(playerViewTexture); } playerViewTexture = new Texture2D( textureHeader.width, textureHeader.height, textureHeader.textureFormat, textureHeader.mipChain); } byte[] raw; int slide = textureHeader.width * 4; // 画像データが上下反転しているケースがある if (textureHeader.flip) { raw = new byte[args.data.Length]; for (var y = 0; y < textureHeader.height; y++) { var i1 = (textureHeader.height - (y + 1)) * slide; var i2 = y * slide; System.Array.Copy(args.data, i1, raw, i2, slide); } } else { raw = args.data; } playerViewTexture.LoadRawTextureData(raw); playerViewTexture.Apply(); // EditorWidowを再描画 if (window != null) { window.Repaint(); } } }
private void OnMessageEvent(UnityEngine.Networking.PlayerConnection.MessageEventArgs args) { var bf = new BinaryFormatter(); var ms = new MemoryStream(args.data); var messageData = (MessageData)bf.Deserialize(ms); switch (messageData.mMessageID) { case MessageData.MessageID.RECORDING_ON: mIsRecording = true; break; case MessageData.MessageID.RECORDING_OFF: mIsRecording = false; break; } }
/// <summary> /// メッセージの受信CB /// </summary> /// <param name="args">メッセージデータ</param> private void OnMessageEvent(UnityEngine.Networking.PlayerConnection.MessageEventArgs args) { MemoryStream memoryStream = new MemoryStream(args.data); BinaryReader binaryReader = new BinaryReader(memoryStream); var messageID = (UnityChoseKun.MessageID)binaryReader.ReadInt32(); UnityChoseKun.Log("UnityChosekunEditorWindow.OnMessageEvent(playerID: " + args.playerId + ",message.id" + messageID + ")"); if (onMessageFuncDict != null && onMessageFuncDict.ContainsKey(messageID) == true) { var func = onMessageFuncDict[messageID]; func(binaryReader); } binaryReader.Close(); memoryStream.Close(); }
private void OnProfileDataEvent(UnityEngine.Networking.PlayerConnection.MessageEventArgs args) { //Debug.Log("OnMessageEvent"); //var json = System.Text.Encoding.ASCII.GetString(args.data); //var message = JsonUtility.FromJson<UnityChoseKunMessageData>(json); if (mIsRecording) { var bf = new BinaryFormatter(); var ms = new MemoryStream(args.data); mProfileData = (ProfileData)bf.Deserialize(ms); ms.Close(); profileDataList.Add(mProfileData); mSlider = profileDataList.Count; Repaint(); } else { SendMessage(MessageData.MessageID.RECORDING_OFF); } }
/// <summary> /// Playerから受信したメッセージのCB /// </summary> /// <param name="args"></param> private void OnMessageEvent(UnityEngine.Networking.PlayerConnection.MessageEventArgs args) { var messageBase = RemoteMessageBase.Desirialize <RemoteMessageBase>(args.data); switch (messageBase.m_messageId) { case RemoteMessageBase.MessageId.Reflesh: { var message = RemoteMessageBase.Desirialize <RemoteMessageReflesh>(args.data); m_scriptNames = new List <GUIContent>(); m_scriptNoValues = new List <int>(message.m_scriptNoValues); for (var i = 0; i < message.m_scriptNames.Length; i++) { m_scriptNames.Add(new GUIContent(message.m_scriptNames[i])); } m_isPlay = message.m_isPlay; m_isRec = message.m_isRecord; m_isWait = false; } break; case RemoteMessageBase.MessageId.Play: { m_isWait = false; m_isPlay = messageBase.m_isSuccess; } break; case RemoteMessageBase.MessageId.Stop: { m_isWait = false; } break; case RemoteMessageBase.MessageId.AddEventScript: { var message = RemoteMessageAddEventScript.Desirialize <RemoteMessageAddEventScript>(args.data); m_scriptNames = new List <GUIContent>(); m_scriptNoValues = new List <int>(message.m_scriptNoValues); for (var i = 0; i < message.m_scriptNames.Length; i++) { m_scriptNames.Add(new GUIContent(message.m_scriptNames[i])); } m_scriptIdx = message.m_setIndex; m_isWait = false; } break; case RemoteMessageBase.MessageId.PlayFinish: { m_isPlay = false; } break; case RemoteMessageBase.MessageId.Record: { m_isRec = messageBase.m_isSuccess; m_isWait = false; } break; case RemoteMessageBase.MessageId.StopRecord: { var message = RemoteMessageStopRecord.Desirialize <RemoteMessageStopRecord>(args.data); var path = EditorUtility.SaveFilePanel( "Save Event Script Data as TXT", "", "", "txt"); if (path.Length != 0) { using (StreamWriter sw = new StreamWriter(path)) { sw.Write(message.m_text); sw.Close(); } } m_isWait = false; } break; } }