Пример #1
0
    // Start is called before the first frame update
    public void CreateTeams()
    {
        Team team1 = Instantiate(_teamTemplate, Vector3.zero, Quaternion.identity, transform);

        team1.teamColor = Color.blue;
        team1.teamName  = "Team 1";
        team1.teamId    = 0;
        NetworkServer.Spawn(team1.gameObject);
        teams.Add(team1);

        Team team2 = Instantiate(_teamTemplate, Vector3.zero, Quaternion.identity, transform);

        team2.teamColor = Color.red;
        team2.teamName  = "Team 2";
        team2.teamId    = 1;
        NetworkServer.Spawn(team2.gameObject);
        teams.Add(team2);

        Team team3 = Instantiate(_teamTemplate, Vector3.zero, Quaternion.identity, transform);

        team3.teamColor = Color.green;
        team3.teamName  = "Team 3";
        team3.teamId    = 2;
        NetworkServer.Spawn(team3.gameObject);
        teams.Add(team3);

        Team team4 = Instantiate(_teamTemplate, Vector3.zero, Quaternion.identity, transform);

        team4.teamColor = Color.yellow;
        team4.teamName  = "Team 4";
        team4.teamId    = 3;
        NetworkServer.Spawn(team4.gameObject);
        teams.Add(team4);
        teamsCreated = true;
        OnTeamsCreated?.Invoke();
    }
Пример #2
0
        void CheckTeamsCreated(bool onlyCheckOnce)
        {
            try
            {
                TraceClientExtensions.TraceMessage(System.Diagnostics.TraceEventType.Information, 1,
                                                   $"CheckTeamsCreated {generalData.TeamName} con el usuario {generalData.UserName}");

                using (MyServiceClient c = new MyServiceClient(generalData.ServerIP))
                {
                    while (true)
                    {
                        if (IsDisposed || ParentForm.Disposing || ParentForm.IsDisposed)
                        {
                            return;
                        }
                        data = c.GetMusData(generalData.GameName, generalData.TeamName, generalData.UserName);
                        if (data.MusTeams?.Length == 2 &&
                            !string.IsNullOrEmpty(data.MusTeams[0].UserName1) &&
                            !string.IsNullOrEmpty(data.MusTeams[0].UserName2) &&
                            !string.IsNullOrEmpty(data.MusTeams[1].UserName1) &&
                            !string.IsNullOrEmpty(data.MusTeams[1].UserName2))
                        {
                            if (string.IsNullOrEmpty(generalData.TeamName))
                            {
                                if (data.MusTeams[0].UserName1 == generalData.UserName || data.MusTeams[0].UserName2 == generalData.UserName)
                                {
                                    generalData.TeamName = data.MusTeams[0].TeamName;
                                }
                                else
                                {
                                    generalData.TeamName = data.MusTeams[1].TeamName;
                                }
                            }
                            TeamsCreated?.Invoke(this, EventArgs.Empty);
                            break;
                        }
                        else
                        {
                            if (onlyCheckOnce)
                            {
                                if (data.MusTeams?.Length > 0)
                                {
                                    foreach (var t in data.MusTeams)
                                    {
                                        if (t.UserName1 == generalData.UserName || t.UserName2 == generalData.UserName)
                                        {
                                            radTeam1.Checked = t.TeamName == radTeam1.Text ? true : false;
                                            radTeam2.Checked = t.TeamName == radTeam2.Text ? true : false;
                                            break;
                                        }
                                    }
                                }
                                return;
                            }
                            Application.DoEvents();
                            Thread.Sleep(1000);
                            Application.DoEvents();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                TraceClientExtensions.TraceMessage(System.Diagnostics.TraceEventType.Error, 1,
                                                   $"Error al chequear equipos {generalData.TeamName} con el usuario {generalData.UserName}");
                MessageBox.Show("Error al chequear equipos: " + ex.Message);
            }
        }