public static void InvokeCheckRoundEnd(ref bool force, ref bool allow, ref RoundSummary.LeadingTeam team, ref bool teamChanged) { CheckRoundEnd checkRoundEnd = CheckRoundEndEvent; if (checkRoundEnd == null) { return; } CheckRoundEndEvent ev = new CheckRoundEndEvent { LeadingTeam = team, ForceEnd = force, Allow = allow }; checkRoundEnd.Invoke(ref ev); if (team != ev.LeadingTeam) { teamChanged = true; } team = ev.LeadingTeam; allow = ev.Allow; force = ev.ForceEnd; }
internal void InvokeRoundCheckEvent(ref bool allow, ref RoundSummary.LeadingTeam leadingTeam) { var ev = new RoundCheckEventArgs { Team = leadingTeam, EndRound = allow, }; RoundCheckEvent?.Invoke(ev); allow = ev.EndRound; leadingTeam = ev.Team; }
public RoundEndEvent(RoundSummary.SumInfo_ClassList list_start, RoundSummary.SumInfo_ClassList list_finish, RoundSummary.LeadingTeam leadingTeam, int e_ds, int e_sc, int scp_kills, int round_cd, string Roundtime) { SCP = new SCPs { SCP_Kills = scp_kills, Starting_SCPs = list_start.scps_except_zombies, Ending_SCPs = list_finish.scps_except_zombies, Terminated_SCPs = list_start.scps_except_zombies - list_finish.scps_except_zombies }; Class_D = new ClassD { Starting_ClassD = list_start.class_ds, Escaped_ClassD = e_ds }; Scientist = new Scientists { Starting_Scientists = list_start.scientists, Escaped_Scientists = e_sc }; TimeSpan tspan = TimeSpan.FromSeconds(list_finish.time - list_start.time); Roundtime = string.Format("{0} minutes and {1} seconds", (int)tspan.TotalMinutes, tspan.Seconds); LeadingTeam = leadingTeam; }
public static void InvokeCheckRoundEnd(ref bool forceEnd, ref bool allow, ref RoundSummary.LeadingTeam team, ref bool teamChanged) { var ev = new CheckRoundEndEvent { Allow = allow, ForceEnd = forceEnd, LeadingTeam = team }; CheckRoundEndEvent?.Invoke(ev); teamChanged = team != ev.LeadingTeam; team = ev.LeadingTeam; allow = ev.Allow; forceEnd = ev.ForceEnd; }
public static void InvokeCheckRoundEnd(ref bool forceEnd, ref bool allow, ref RoundSummary.LeadingTeam leadingTeam, ref bool teamChanged) { if (CheckRoundEndEvent == null) { return; } CheckRoundEndEvent ev = new CheckRoundEndEvent { LeadingTeam = leadingTeam, ForceEnd = forceEnd, Allow = allow }; CheckRoundEndEvent.Invoke(ref ev); teamChanged = leadingTeam != ev.LeadingTeam; leadingTeam = ev.LeadingTeam; allow = ev.Allow; forceEnd = ev.ForceEnd; }
/// <summary> /// Initializes a new instance of the <see cref="RoundEndedEventArgs"/> class. /// </summary> /// <param name="leadingTeam"><inheritdoc cref="LeadingTeam"/></param> /// <param name="classList"><inheritdoc cref="ClassList"/></param> /// <param name="timeToRestart"><inheritdoc cref="TimeToRestart"/></param> public RoundEndedEventArgs(RoundSummary.LeadingTeam leadingTeam, RoundSummary.SumInfo_ClassList classList, int timeToRestart) { LeadingTeam = leadingTeam; ClassList = classList; TimeToRestart = timeToRestart; }
void ILabModRoundEnd.Event(RoundSummary sum, RoundSummary.SumInfo_ClassList list_start, RoundSummary.SumInfo_ClassList list_finish, RoundSummary.LeadingTeam leadingTeam, int e_ds, int e_sc, int scp_kills, int round_cd) { }
public void RpcShowRoundSummary(RoundSummary.SumInfo_ClassList list_start, RoundSummary.SumInfo_ClassList list_finish, RoundSummary.LeadingTeam leadingTeam, int e_ds, int e_sc, int scp_kills, int round_cd) { TimeSpan tspan = TimeSpan.FromSeconds(list_finish.time - list_start.time); Base.roundStartTime = null; try { Base.Debug("Triggering RoundEndEvent"); PluginManager.TriggerEvent <IEventHandlerRoundEnd>(new RoundEndEvent(list_start, list_finish, leadingTeam, e_ds, e_sc, scp_kills, round_cd, string.Format("{0} minutes and {1} seconds", (int)tspan.TotalMinutes, tspan.Seconds))); } catch (Exception e) { Base.Error($"Error triggering RoundEndEvent: {e.InnerException.ToString()}"); } orig_RpcShowRoundSummary(list_start, list_finish, leadingTeam, e_ds, e_sc, scp_kills, round_cd); }
public extern void orig_RpcShowRoundSummary(RoundSummary.SumInfo_ClassList list_start, RoundSummary.SumInfo_ClassList list_finish, RoundSummary.LeadingTeam leadingTeam, int e_ds, int e_sc, int scp_kills, int round_cd);
public static void TriggerEvent(RoundSummary sum, RoundSummary.SumInfo_ClassList list_start, RoundSummary.SumInfo_ClassList list_finish, RoundSummary.LeadingTeam leadingTeam, int e_ds, int e_sc, int scp_kills, int round_cd) { //bool shouldstop = false; foreach (var type in types_update) { if (LabMod.GetObjectOfType(type) == null) { continue; } ((ILabModRoundEnd)LabMod.GetObjectOfType(type)).Event(sum, list_start, list_finish, leadingTeam, e_ds, e_sc, scp_kills, round_cd); } //stop = shouldstop; }
public static void EndGame(RoundSummary.LeadingTeam winningTeam) => eventHandler.ManualEndGame.EndGame(winningTeam);
/// <summary> /// Initializes a new instance of the <see cref="EndingRoundEventArgs"/> class. /// </summary> /// <param name="leadingTeam"><inheritdoc cref="LeadingTeam"/></param> /// <param name="isRoundEnded"><inheritdoc cref="IsRoundEnded"/></param> /// <param name="isAllowed"><inheritdoc cref="IsAllowed"/></param> public EndingRoundEventArgs(RoundSummary.LeadingTeam leadingTeam, bool isRoundEnded, bool isAllowed = true) { LeadingTeam = leadingTeam; IsRoundEnded = isRoundEnded; IsAllowed = isAllowed; }