示例#1
0
 // Token: 0x06000E24 RID: 3620 RVA: 0x0003F15C File Offset: 0x0003D35C
 private void TeleportBody(CharacterBody characterBody)
 {
     if (!Util.HasEffectiveAuthority(characterBody.gameObject))
     {
         return;
     }
     if (!Physics.GetIgnoreLayerCollision(base.gameObject.layer, characterBody.gameObject.layer))
     {
         SpawnCard spawnCard = ScriptableObject.CreateInstance <SpawnCard>();
         spawnCard.hullSize      = characterBody.hullClassification;
         spawnCard.nodeGraphType = MapNodeGroup.GraphType.Ground;
         spawnCard.prefab        = Resources.Load <GameObject>("SpawnCards/HelperPrefab");
         GameObject gameObject = DirectorCore.instance.TrySpawnObject(new DirectorSpawnRequest(spawnCard, new DirectorPlacementRule
         {
             placementMode = DirectorPlacementRule.PlacementMode.NearestNode,
             position      = characterBody.transform.position
         }, RoR2Application.rng));
         if (gameObject)
         {
             Debug.Log("tp back");
             TeleportHelper.TeleportBody(characterBody, gameObject.transform.position);
             GameObject teleportEffectPrefab = Run.instance.GetTeleportEffectPrefab(characterBody.gameObject);
             if (teleportEffectPrefab)
             {
                 EffectManager.SimpleEffect(teleportEffectPrefab, gameObject.transform.position, Quaternion.identity, true);
             }
             UnityEngine.Object.Destroy(gameObject);
         }
         UnityEngine.Object.Destroy(spawnCard);
     }
 }
示例#2
0
 // Token: 0x060005C6 RID: 1478 RVA: 0x00017EB8 File Offset: 0x000160B8
 private void OnTriggerStay(Collider other)
 {
     if (NetworkServer.active && this.alive && TeamComponent.GetObjectTeam(other.gameObject) == this.teamFilter.teamIndex)
     {
         SkillLocator component = other.GetComponent <SkillLocator>();
         if (component)
         {
             this.alive = false;
             component.ApplyAmmoPack();
             EffectManager.SimpleEffect(this.pickupEffect, base.transform.position, Quaternion.identity, true);
             UnityEngine.Object.Destroy(this.baseObject);
         }
     }
 }
        // Token: 0x06001359 RID: 4953 RVA: 0x00052E1C File Offset: 0x0005101C
        public void OnInteractionBegin(Interactor activator)
        {
            CharacterBody component = activator.GetComponent <CharacterBody>();

            if (component)
            {
                Inventory inventory = component.inventory;
                if (inventory)
                {
                    ShrineCleanseBehavior.CleanseInventoryServer(inventory);
                    EffectManager.SimpleEffect(this.activationEffectPrefab, base.transform.position, base.transform.rotation, true);
                }
            }
        }
 // Token: 0x06000E84 RID: 3716 RVA: 0x00040728 File Offset: 0x0003E928
 private void OnTriggerStay(Collider other)
 {
     if (NetworkServer.active && this.alive)
     {
         TeamIndex objectTeam = TeamComponent.GetObjectTeam(other.gameObject);
         if (objectTeam == this.teamFilter.teamIndex)
         {
             this.alive = false;
             Vector3 position = base.transform.position;
             TeamManager.instance.GiveTeamMoney(objectTeam, (uint)this.goldReward);
             if (this.pickupEffectPrefab)
             {
                 EffectManager.SimpleEffect(this.pickupEffectPrefab, position, Quaternion.identity, true);
             }
             UnityEngine.Object.Destroy(this.baseObject);
         }
     }
 }