public void AddToFeed(string killerName, string victimName, int weaponIndex, bool queued = false) { if (feedList.Count >= queueBuffer) { feedQueue.Add(new KillContainer(killerName, victimName, weaponIndex)); return; } UILabel newFeedInstance = (UILabel)Instantiate(labelPrefab); newFeedInstance.transform.parent = killFeedParent; newFeedInstance.transform.localScale = Vector3.one; newFeedInstance.fontSize = fontSize; if (weaponIndex >= 0) { string killedBy = (weaponIndex >= 200) ? GrenadeDatabase.GetGrenadeByID(weaponIndex - 200).grenadeName : WeaponDatabase.GetWeaponByID(weaponIndex).gunName; newFeedInstance.text = killerName + " [" + killedBy + "] " + victimName; } else { newFeedInstance.text = killerName + " killed " + victimName; } KillFeedItem kfi = newFeedInstance.GetComponent <KillFeedItem>(); kfi.manager = this; kfi.targetPos = -Vector3.up * feedList.Count * feedSpacing; kfi.Initialize((queued) ? feedDuration * Random.Range(0.75f, 0.85f) : feedDuration); //yay for variety feedList.Add(newFeedInstance); }
public void AddKillFeedItem(KillFeedItem killFeedItem) { var optionsBuilder = new DbContextOptionsBuilder <KillFeedsContext>(); optionsBuilder.UseSqlServer(_configuration.GetConnectionString("ReactReduxSignalRDemoDatabase")); using (var context = new KillFeedsContext(optionsBuilder.Options)) { context.KillFeedItems.Add(killFeedItem); context.SaveChanges(); } }
private void KillDeathTimerTask(object timerState) { if (timerState is MatchTimerState state) { var user = new KillFeedPlayer { Username = state.User.Username, Operator = "Ash" }; var enemies = new List <KillFeedPlayer> { new KillFeedPlayer { Username = "******", Operator = "Mira" }, new KillFeedPlayer { Username = "******", Operator = "Smoke" }, new KillFeedPlayer { Username = "******", Operator = "Doc" }, new KillFeedPlayer { Username = "******", Operator = "Vigil" }, new KillFeedPlayer { Username = "******", Operator = "Maestro" } }; var random = new Random(); var randomNumber = random.Next(0, 4); var killFeedItem = new KillFeedItem { KillFeedId = state.KillFeed.KillFeedId }; if (random.Next(0, 2) == 0) { state.User.Stats.Kills++; killFeedItem.Kill = new KillUser { KillFeedItemId = killFeedItem.KillFeedItemId, Username = user.Username, Operator = user.Operator }; killFeedItem.Death = new DeathUser { KillFeedItemId = killFeedItem.KillFeedItemId, Username = enemies[randomNumber].Username, Operator = enemies[randomNumber].Operator }; } else { state.User.Stats.Deaths++; killFeedItem.Kill = new KillUser { KillFeedItemId = killFeedItem.KillFeedItemId, Username = enemies[randomNumber].Username, Operator = enemies[randomNumber].Operator }; killFeedItem.Death = new DeathUser { KillFeedItemId = killFeedItem.KillFeedItemId, Username = user.Username, Operator = user.Operator }; } _simulateMatchRepository.UpdateStats(state.User.Stats); _simulateMatchRepository.AddKillFeedItem(killFeedItem); _logger.LogInformation($"Updated stats for user {state.User.UserId}."); _logger.LogInformation($"Added kill feed item {killFeedItem.KillFeedItemId}."); _hubContext.Clients.All.SendAsync("GetLiveStats", state.User.Stats); _hubContext.Clients.All.SendAsync("GetLiveKillFeed", killFeedItem); } }