public void _Serialize(OnSceneChangedPacket pkt, MemoryStream m) { byte[] sceneId = Data_serializers_const.ser_M_liteIntSerializer.Serialize(pkt.sceneId); m.Write(sceneId, 0, sceneId.Length); byte[] offmeshLinkName = Data_serializers_const.ser_M_liteArraySerializer.Serialize(pkt.offmeshLinkName); m.Write(offmeshLinkName, 0, offmeshLinkName.Length); }
public static void SendOnSceneChangedPacket(OnSceneChangedPacket pkt, [Optional()][DefaultParameterValue(-1)] int connectionId) { MemoryStream m = new MemoryStream(); m.WriteByte(6); LiteNetworking.Networking.localPacketPlayer = LiteNetworking.LobbyConnector.ConvertConnectionToPlayer(connectionId); ConstRefs.mirror_OnSceneChangedPacket._Serialize(pkt, m); Networking.TransmitPacket(m, connectionId); }
public void GoToScene(int sceneId, string offmeshLinkName) { if (Networking.isServer) { Debug.LogError("Use MovePlayerToScene on the server to properly handle chunking"); return; } // Start the client jobs listeners.ForEach(a => a.OnSceneJobStart(sceneId)); ClientSceneLoader.LoadScene(sceneId); // Request the data from the server OnSceneChangedPacket pkt = new OnSceneChangedPacket(); pkt.sceneId = sceneId; pkt.offmeshLinkName = offmeshLinkName; PacketSender.SendOnSceneChangedPacket(pkt); }
public void _Deserialize(OnSceneChangedPacket pkt, MemoryStream m) { pkt.sceneId = Data_serializers_const.ser_M_liteIntSerializer.Deserialize(m); pkt.offmeshLinkName = Data_serializers_const.ser_M_liteArraySerializer.Deserialize(m); }