/// <summary> /// Method invoked when new peer connects /// </summary> /// <param name="peer">Peer that has connected</param> public void OnPeerConnected(IPeerManager peer) { Debug.Assert(State == SimulationState.Initial); MasterPeer = peer; Log.Info($"Master {peer.PeerEndPoint} connected."); var info = new Commands.Info() { Version = "todo", UnityVersion = Application.unityVersion, OperatingSystem = SystemInfo.operatingSystemFamily.ToString(), }; State = SimulationState.Connected; if (Loader.Instance.LoaderUI != null) { Loader.Instance.LoaderUI.SetLoaderUIState(LoaderUI.LoaderUIStateType.PROGRESS); } var infoData = PacketsProcessor.Write(info); var message = MessagesPool.Instance.GetMessage(infoData.Length); message.AddressKey = Key; message.Content.PushBytes(infoData); message.Type = DistributedMessageType.ReliableOrdered; UnicastMessage(peer.PeerEndPoint, message); }
/// <summary> /// Method invoked when new peer connects /// </summary> /// <param name="peer">Peer that has connected</param> public void OnPeerConnected(IPeerManager peer) { Debug.Assert(State == SimulationState.Initial); MasterPeer = peer; Debug.Log($"Master {peer.PeerEndPoint} connected."); var info = new Commands.Info() { Version = "todo", UnityVersion = Application.unityVersion, OperatingSystem = SystemInfo.operatingSystemFamily.ToString(), }; State = SimulationState.Connected; Loader.Instance.LoaderUI.SetLoaderUIState(LoaderUI.LoaderUIStateType.PROGRESS); UnicastMessage(peer.PeerEndPoint, new Message(Key, new BytesStack(PacketsProcessor.Write(info), false), MessageType.ReliableOrdered)); }