Beispiel #1
0
 // Token: 0x060027A2 RID: 10146 RVA: 0x000F09E2 File Offset: 0x000EEDE2
 public static void deregisterBeacon(byte nav, InteractableBeacon beacon)
 {
     if (!LevelNavigation.checkSafe(nav))
     {
         return;
     }
     BeaconManager.beacons[(int)nav].Remove(beacon);
     if (BeaconManager.onBeaconUpdated != null)
     {
         BeaconManager.onBeaconUpdated(nav, BeaconManager.beacons[(int)nav].Count > 0);
     }
 }
        public void ManualOnDestroy()
        {
            if (!Provider.isServer)
            {
                return;
            }
            if (!this.isRegistered)
            {
                return;
            }
            BeaconManager.deregisterBeacon(this.nav, this);
            this.isRegistered = false;
            if (!this.wasInit)
            {
                return;
            }
            if (this.remaining > 0 || this.alive > 0)
            {
                return;
            }
            for (int i = 0; i < Provider.clients.Count; i++)
            {
                if (Provider.clients[i].player != null && !Provider.clients[i].player.life.isDead && Provider.clients[i].player.movement.nav == this.nav)
                {
                    Provider.clients[i].player.quests.trackHordeKill();
                }
            }
            int num = (int)this.asset.rewards;

            num *= Mathf.Max(1, this.initialParticipants);
            for (int j = 0; j < num; j++)
            {
                ushort num2 = SpawnTableTool.resolve(this.asset.rewardID);
                if (num2 != 0)
                {
                    ItemManager.dropItem(new Item(num2, EItemOrigin.NATURE), base.transform.position, false, true, true);
                }
            }
        }