public static void InitializePool() { for (int i = 0; i < Config.DeadPlayerCacheSize; i++) { CachedClasses[i] = new VictimOf049(); } }
/// <summary> /// Save a player killed by SCP 049. /// </summary> private void Player_Died(Exiled.Events.EventArgs.DiedEventArgs ev) { var killer = ev.Killer; if (killer.Role != RoleType.Scp049) { return; } var player = ev.Target; _infectedPlayers.Add((byte)player.Id, VictimOf049.SetNewVictim(player, killer, this)); }
public static VictimOf049 SetNewVictim(Player player, Player killer, AssistInfection plugin) { for (int i = 0; i < Config.DeadPlayerCacheSize; i++) { var c = CachedClasses[i]; if (c.Coroutine.IsRunning) { continue; } c.Initialize(player, killer, plugin); return(c); } var createNew = new VictimOf049(); createNew.Initialize(player, killer, plugin); return(createNew); }
public AssistInfection() { VictimOf049.InitializePool(); }
private void Server_RoundEnded(Exiled.Events.EventArgs.RoundEndedEventArgs ev) { VictimOf049.Reset(); _infectedPlayers.Clear(); }