Exemplo n.º 1
0
    void FinishSendDivisionRPC(int InDivState)
    {
        bGettingDivision = false;

        try
        {
            using (Stream stream = Global.GenerateStreamFromString(AllDataBuilderString))
                Global.AllData = TournamentData.Load(stream);
        }
        catch (Exception e)
        {
            Debug.Log("Exception in FinishSendDivisionRPC: " + e.Message);
        }
        Global.DivDataState = InDivState;
        LastSyncedDivState  = InDivState;

        JudgerBase Judger = Global.GetActiveJudger();

        if (Judger)
        {
            SendJudgeNameId(Judger.JudgeGuid, Judger.GetJudgeNameId());
        }

        //Debug.Log(" finished: ");
    }
Exemplo n.º 2
0
    public void UpdateUdpListener()
    {
        if (Client != null)
        {
            if (bGotMessage)
            {
                bGotMessage = false;

                Client.BeginReceive(ReceiveCallback, StateData);
            }

            if (!bIsServer && ServerIp.Length == 0)
            {
                PingServerTimer -= Time.deltaTime;
                if (PingServerTimer < 0)
                {
                    PingServerTimer = 3f;

                    string     PingString = "PingServer" + ClientPort;
                    IPEndPoint Group      = new IPEndPoint(IPAddress.Broadcast, ServerPort);
                    byte[]     Bytes      = Encoding.ASCII.GetBytes(PingString);
                    BroadcastSocket.SendTo(Bytes, Group);
                }
            }

            if (!IsConnectedToServer && ServerIp.Length > 0)
            {
                if (Network.Connect(ServerIp, 8765) == NetworkConnectionError.NoError)
                {
                    IsConnectedToServer   = true;
                    bSentConnectedMessage = false;

                    Debug.Log("Connected to: " + ServerIp);
                }
            }

            if (!bSentConnectedMessage && Network.isClient)
            {
                bSentConnectedMessage = true;

                JudgerBase JudgeBase = Global.GetActiveJudger();
                if (JudgeBase)
                {
                    JudgeBase.JudgeGuid = Network.player.guid;

                    //Debug.Log(" send connect message: " + bClientInited);

                    if (bClientInited)
                    {
                        SendJudgeReconnected(Network.player.guid, (int)Global.GetActiveJudgerType(), JudgeBase.JudgeCategoryIndex, JudgeBase.GetJudgeNameId(),
                                             JudgeBase.bClientReadyToBeLocked, JudgeBase.bLockedForJudging, JudgeBase.bIsJudging, JudgeBase.bIsEditing);
                    }
                    else
                    {
                        SendJudgeConnected(Network.player.guid, (int)Global.GetActiveJudgerType());
                    }
                }
            }

            if (Networking.bNeedSendCachedResults && bSentConnectedMessage)
            {
                JudgerBase JudgeBase = Global.GetActiveJudger();
                if (JudgeBase)
                {
                    JudgeBase.SendCachedResultsToHeadJudger();
                }
            }
        }
    }