public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info) { if (stream.IsWriting && PhotonNetwork.IsMasterClient) { if (streamDatas.Count != 0) { string _dataJson = JsonConvert.SerializeObject(streamDatas); byte[] _dataByte = ObjectSerialize.Serialize(_dataJson); stream.SendNext(_dataByte.Length); stream.SendNext(_dataByte); streamDatas.Clear(); byteStreamed = _dataByte.Length; } else { stream.SendNext(0); } } if (stream.IsReading) { int _byteCount = (int)stream.ReceiveNext(); if (_byteCount != 0) { byteStreamed = _byteCount; byte[] _dataBytes = (byte[])stream.ReceiveNext(); string _dataJson = (string)ObjectSerialize.DeSerialize(_dataBytes); Dictionary <StreamDataType, string> _datas = (Dictionary <StreamDataType, string>)JsonConvert.DeserializeObject(_dataJson, typeof(Dictionary <StreamDataType, string>)); foreach (KeyValuePair <StreamDataType, string> _data in _datas) { ClientManager.client.RecevingData(_data.Key, _data.Value); } } } }
public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info) { if (stream.IsWriting && PhotonNetwork.IsMasterClient) { if (Maps == null) { return; } stream.SendNext(map.GetLength(0)); stream.SendNext(map.GetLength(1)); UpdateMap(boxSync); List <string> boxSyncJson = new List <string>(); foreach (Box _box in boxSync) { boxSyncJson.Add(JsonConvert.SerializeObject(_box)); } stream.SendNext(ObjectSerialize.Serialize(JsonConvert.SerializeObject(boxSyncJson))); boxSync = new List <Box>(); } if (stream.IsReading) { int x = (int)stream.ReceiveNext(); int y = (int)stream.ReceiveNext(); if (map == null) { map = new Box[x, y]; } byte[] receving = (byte[])stream.ReceiveNext(); List <string> boxSyncJson = JsonConvert.DeserializeObject <List <string> >((string)ObjectSerialize.DeSerialize(receving)); List <Box> _boxSync = new List <Box>(); foreach (string boxJson in boxSyncJson) { Box _box = JsonConvert.DeserializeObject <Box>(boxJson); _boxSync.Add(_box); map[_box.pos.x, _box.pos.y] = _box; } UpdateMap(_boxSync); } }
public void OnPhotonSerializeView(PhotonStream _stream, PhotonMessageInfo info) { if (_stream.IsWriting) { List <string> _jsonData = new List <string> { JsonConvert.SerializeObject(plyCl.mysteryPower), JsonConvert.SerializeObject(plyCl.BombeCount), JsonConvert.SerializeObject(plyCl.powerUps) }; string _json = JsonConvert.SerializeObject(_jsonData); _stream.SendNext(ObjectSerialize.Serialize(_json)); } else { List <string> _jsonData = JsonConvert.DeserializeObject <List <string> >((string)ObjectSerialize.DeSerialize((byte[])_stream.ReceiveNext())); plyCl.mysteryPower = JsonConvert.DeserializeObject <MysteryPower.MysteryPowers>(_jsonData[0]); plyCl.BombeCount = JsonConvert.DeserializeObject <int>(_jsonData[1]); plyCl.powerUps = JsonConvert.DeserializeObject <Dictionary <PowerUps, int> >(_jsonData[2]); } }