Пример #1
0
    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();
            }
        }
Пример #3
0
        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);
            }
        }