// UTILS private bool IsValidMatch(tnStartMatchEventParams i_Params) { int teamAHumanPlayers = i_Params.teamAHumanPlayers; int teamBHumanPlayers = i_Params.teamBHumanPlayers; return(teamAHumanPlayers > 0 || teamBHumanPlayers > 0); }
private void OnMatchStarted(tnStartMatchEventParams i_Params) { if (!IsValidMatch(i_Params)) { return; } StatsModule statsModule = GameServices.GetModuleMain <StatsModule>(); if (statsModule == null) { return; } int humanPlayers = i_Params.teamAHumanPlayers + i_Params.teamBHumanPlayers; statsModule.UpdateIntStat(tnUserStatsId.s_BiggerTeamSizeStatId, humanPlayers, IntStatUpdateFunction.Max); statsModule.StoreStats(); }
protected override void OnStartMatch() { base.OnStartMatch(); bool online = !PhotonNetwork.offlineMode; tnStartMatchEventParams param = new tnStartMatchEventParams(online); param.SetGameModeId(gameModeId); param.SetBallId(ballId); param.SetStadiumId(stadiumId); param.SetHasReferee(hasReferee); param.SetGoldenGoalEnabled(goldenGoalEnabled); // Compute human players. tnStandardMatchTeamResults teamAResults = (tnStandardMatchTeamResults)GetTeamResultsByIndex(0); if (teamAResults != null) { param.SetTeamAId(teamAResults.id); param.SetTeamASize(teamAResults.charactersResultsCount); int humanPlayers = 0; if (!online) { for (int index = 0; index < teamAResults.charactersResultsCount; ++index) { tnCharacterResults characterResults = teamAResults.GetCharacterResults(index); if (characterResults != null) { if (characterResults.isHuman) { ++humanPlayers; } } } } else { humanPlayers = teamAResults.charactersResultsCount; } param.SetTeamAHumanPlayers(humanPlayers); } tnStandardMatchTeamResults teamBResults = (tnStandardMatchTeamResults)GetTeamResultsByIndex(1); if (teamBResults != null) { param.SetTeamBId(teamBResults.id); param.SetTeamBSize(teamBResults.charactersResultsCount); int humanPlayers = 0; if (!online) { for (int index = 0; index < teamBResults.charactersResultsCount; ++index) { tnCharacterResults characterResults = teamBResults.GetCharacterResults(index); if (characterResults != null) { if (characterResults.isHuman) { ++humanPlayers; } } } } else { humanPlayers = teamBResults.charactersResultsCount; } param.SetTeamBHumanPlayers(humanPlayers); } // Compute local characters and teams. for (int index = 0; index < localCharactersCount; ++index) { GameObject character = GetLocalCharacterByIndex(index); if (character == null) { continue; } tnCharacterInfo characterInfo = character.GetComponent <tnCharacterInfo>(); if (characterInfo != null) { int characterId = characterInfo.characterId; int teamId = characterInfo.teamId; param.AddLocalCharacter(characterId); param.AddLocalTeam(teamId); } } // Raise event. Messenger.Broadcast <tnStartMatchEventParams>("MatchStarted", param); }