private void AttemptGrant(CharacterBody body)
        {
            if (!NetworkServer.active)
            {
                Debug.LogWarning("[Server] function 'System.Void RoR2.GenericPickupController::AttemptGrant(RoR2.CharacterBody)' called on client");
                return;
            }
            PickupDef pickupDef = PickupCatalog.GetPickupDef(this.pickupIndex);

            if (pickupDef.itemIndex != ItemIndex.None)
            {
                using (IEnumerator <TeamComponent> enumerator = TeamComponent.GetTeamMembers(TeamIndex.Player).GetEnumerator())
                {
                    while (enumerator.MoveNext())
                    {
                        TeamComponent teamComponent = enumerator.Current;
                        body = teamComponent.GetComponent <CharacterBody>();
                        if (teamComponent && teamComponent.teamIndex == TeamIndex.Player)
                        {
                            Inventory inventory = body.inventory;
                            if (inventory)
                            {
                                this.consumed = true;
                                this.GrantItem(body, inventory);
                            }
                        }
                    }
                    return;
                }
            }
            TeamComponent teamComponent2 = body.GetComponent <TeamComponent>();

            if (teamComponent2 && teamComponent2.teamIndex == TeamIndex.Player)
            {
                Inventory inventory2 = body.inventory;
                if (inventory2)
                {
                    this.consumed = true;
                    if (pickupDef.equipmentIndex != EquipmentIndex.None)
                    {
                        this.GrantEquipment(body, inventory2);
                    }
                    if (pickupDef.artifactIndex != ArtifactIndex.None)
                    {
                        this.GrantArtifact(body, pickupDef.artifactIndex);
                    }
                    if (pickupDef.coinValue != 0U)
                    {
                        this.GrantLunarCoin(body, pickupDef.coinValue);
                    }
                }
            }
        }
Пример #2
0
        // Token: 0x06000EBA RID: 3770 RVA: 0x0004190C File Offset: 0x0003FB0C
        private void ScheduleIntensityCalculation(GameObject targetBodyObject)
        {
            if (!targetBodyObject)
            {
                return;
            }
            ReadOnlyCollection <TeamComponent> teamMembers = TeamComponent.GetTeamMembers(TeamIndex.Monster);
            int count = teamMembers.Count;

            this.EnsureEnemyBufferSize(count);
            int num  = 0;
            int i    = 0;
            int num2 = count;

            while (i < num2)
            {
                TeamComponent teamComponent = teamMembers[i];
                InputBankTest component     = teamComponent.GetComponent <InputBankTest>();
                CharacterBody component2    = teamComponent.GetComponent <CharacterBody>();
                if (component)
                {
                    this.enemyInfoBuffer[num++] = new MusicController.EnemyInfo
                    {
                        aimRay      = new Ray(component.aimOrigin, component.aimDirection),
                        threatScore = (component2.master ? component2.GetNormalizedThreatValue() : 0f)
                    };
                }
                i++;
            }
            this.calculateIntensityJob = new MusicController.CalculateIntensityJob
            {
                enemyInfoBuffer = this.enemyInfoBuffer,
                elementCount    = num,
                targetPosition  = targetBodyObject.transform.position,
                nearDistance    = 20f,
                farDistance     = 75f
            };
            this.calculateIntensityJobHandle = this.calculateIntensityJob.Schedule(num, 32, default(JobHandle));
        }