示例#1
0
        void FixedUpdate()
        {
            _stopwatch--;
            if (_stopwatch < 0f)
            {
                _stopwatch = UPDATE_INTERVAL;
                var targets = MiscUtil.GatherEnemies(TeamComponent.GetObjectTeam(this.gameObject));
                lastEnemyScoreTracked = 0;
                foreach (var target in targets)
                {
                    if (Vector3.Distance(target.transform.position, this.transform.position) < Moustache.instance.maxRange)
                    {
                        if (!target.body || (target.body.outOfCombat && target.body.outOfDanger))
                        {
                            continue;
                        }
                        lastEnemyScoreTracked += 1f;
                        if (target.body.isElite)
                        {
                            lastEnemyScoreTracked += Moustache.instance.eliteBonus;
                        }
                        if (target.body.isBoss || target.body.isChampion)
                        {
                            lastEnemyScoreTracked += Moustache.instance.champBonus;
                        }
                    }
                }

                body.MarkAllStatsDirty();
            }
        }