Ejemplo n.º 1
0
        public static void DrawInGameRecapCard(FileTraceManagment.SessionStats Current_session, LogFileManagment.SessionVariables session, Dictionary <string, Dictionary <string, Translate.Translation> > translation, bool draw)
        {
            OverlayWriter writer = new OverlayWriter(Current_session.TwitchSettings.OverlayFormat);

            if (draw)
            {
                AssignCurrentMatch(Current_session, session, writer, translation);
            }
            writer.WriteToFile(Current_session.FileData.StreamOverlayOutputLocation + @"\in_game_report");
        }
Ejemplo n.º 2
0
        public static void DrawStatCard(FileTraceManagment.SessionStats currentSession, LogFileManagment.SessionVariables session, Dictionary <string, Dictionary <string, Translate.Translation> > translation, bool draw)
        {
            OverlayWriter writer = new OverlayWriter(currentSession.TwitchSettings.OverlayFormat);

            if (draw)
            {
                if (currentSession.TwitchSettings.ShowStats)
                {
                    AssignStats(currentSession, writer, translation, currentSession.MatchHistory.FirstOrDefault().MatchData.MatchTypeDesc);
                }

                if (currentSession.TwitchSettings.ShowRevenue)
                {
                    AssignRevenue(currentSession, session, writer, translation);
                }

                if (currentSession.TwitchSettings.ShowNemesis || currentSession.TwitchSettings.ShowVictims)
                {
                    AssignNemesisVictim(currentSession, writer, translation);
                }
            }
            writer.WriteToFile(currentSession.FileData.StreamOverlayOutputLocation + @"\gamemode_recap_card");
        }
Ejemplo n.º 3
0
        public static void DrawTeamPreviewCard(FileTraceManagment.SessionStats currentSession, LogFileManagment.SessionVariables session, Dictionary <string, Dictionary <string, Translate.Translation> > translation, bool draw)
        {
            OverlayWriter writerBlue = new OverlayWriter(currentSession.TwitchSettings.OverlayFormat);
            OverlayWriter writerRed  = new OverlayWriter(currentSession.TwitchSettings.OverlayFormat);

            if (draw && currentSession.CurrentMatch.PlayerRecords.Any(x => x.Value.PartyID != 0))
            {
                Random random_number = new Random();
                FileTraceManagment.MatchData current_match = currentSession.CurrentMatch;

                if (!current_match.PlayerRecords.ContainsKey(currentSession.LocalUserUID))
                {
                    return;
                }

                Dictionary <int, List <string> > blue_teams = new Dictionary <int, List <string> > {
                };
                Dictionary <int, List <string> > red_teams  = new Dictionary <int, List <string> > {
                };

                blue_teams.Add(current_match.PlayerRecords[currentSession.LocalUserUID].PartyID, new List <string> {
                    current_match.PlayerRecords[currentSession.LocalUserUID].Nickname
                });

                foreach (KeyValuePair <int, FileTraceManagment.Player> player in current_match.PlayerRecords.ToList())
                {
                    if (player.Value.PartyID == 0 || player.Value.Nickname == current_match.PlayerRecords[currentSession.LocalUserUID].Nickname)
                    {
                        continue;
                    }

                    if (player.Value.Team != current_match.PlayerRecords[currentSession.LocalUserUID].Team)
                    {
                        if (!red_teams.ContainsKey(player.Value.PartyID))
                        {
                            red_teams.Add(player.Value.PartyID, new List <string> {
                                player.Value.Nickname
                            });
                        }
                        else
                        {
                            red_teams[player.Value.PartyID].Add(player.Value.Nickname);
                        }
                    }
                    else
                    {
                        if (!blue_teams.ContainsKey(player.Value.PartyID))
                        {
                            blue_teams.Add(player.Value.PartyID, new List <string> {
                                player.Value.Nickname
                            });
                        }
                        else
                        {
                            blue_teams[player.Value.PartyID].Add(player.Value.Nickname);
                        }
                    }
                }

                //TODO separate methods for css purposes
                foreach (KeyValuePair <int, List <string> > team in blue_teams)
                {
                    writerBlue.AddLine(string.Format("{0}", string.Join(",", team.Value)), "player blue_player");
                }

                foreach (KeyValuePair <int, List <string> > team in red_teams)
                {
                    writerRed.AddLine(string.Format("{0}", string.Join(",", team.Value)), "player red_player");
                }
            }
            writerBlue.WriteToFile(currentSession.FileData.StreamOverlayOutputLocation + @"\blue_team_squads");
            writerRed.WriteToFile(currentSession.FileData.StreamOverlayOutputLocation + @"\red_team_squads");
        }