Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        /// <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));
        }