Ejemplo n.º 1
0
        // Token: 0x06000091 RID: 145 RVA: 0x000061F0 File Offset: 0x000043F0
        public override DebrisObject Drop(PlayerController player)
        {
            player.PostProcessProjectile     -= this.PostProcessProjectile;
            player.PostProcessBeamChanceTick -= this.PostProcessBeamChanceTick;
            this.m_pickedUp           = false;
            this.m_pickedUpThisRun    = true;
            this.HasBeenStatProcessed = true;
            this.m_owner = null;
            DebrisObject debrisObject = LootEngine.DropItemWithoutInstantiating(base.gameObject, player.LockedApproximateSpriteCenter, player.unadjustedAimPoint - player.LockedApproximateSpriteCenter, 4f, true, false, false, false);

            SpriteOutlineManager.AddOutlineToSprite(debrisObject.sprite, Color.black, 0.1f, 0f, SpriteOutlineManager.OutlineType.NORMAL);
            base.RegisterMinimapIcon();
            return(debrisObject);
        }
        private void DoSpawn(FlippableCover table)
        {
            Vector3 vector  = table.transform.position;
            Vector3 vector2 = table.specRigidbody.UnitCenter;

            if (vector.y > 0f)
            {
                vector2 += Vector3.up * 0.25f;
            }
            GameObject     gameObject2 = Instantiate <GameObject>(objectToSpawn, vector2, Quaternion.identity);
            tk2dBaseSprite component4  = gameObject2.GetComponent <tk2dBaseSprite>();

            if (component4)
            {
                component4.PlaceAtPositionByAnchor(vector2, tk2dBaseSprite.Anchor.MiddleCenter);
            }
            Vector2 vector3 = table.transform.position;

            vector3 = Quaternion.Euler(0f, 0f, 0f) * vector3;
            DebrisObject debrisObject = LootEngine.DropItemWithoutInstantiating(gameObject2, gameObject2.transform.position, vector3, 0, false, false, true, false);

            if (gameObject2.GetComponent <BlackHoleDoer>())
            {
                gameObject2.GetComponent <BlackHoleDoer>().coreDuration = 2f;
                debrisObject.PreventFallingInPits = true;
                debrisObject.PreventAbsorption    = true;
            }
            if (vector.y > 0f && debrisObject)
            {
                debrisObject.additionalHeightBoost = -1f;
                if (debrisObject.sprite)
                {
                    debrisObject.sprite.UpdateZDepth();
                }
            }
            debrisObject.IsAccurateDebris = true;
            debrisObject.Priority         = EphemeralObject.EphemeralPriority.Critical;
            debrisObject.bounceCount      = 0;
        }
Ejemplo n.º 3
0
 private void HandleBlackHoleEffect(TableTechChaosEffectIdentifier identifier, FlippableCover obj)
 {
     if (identifier == TableTechChaosEffectIdentifier.BLACK_HOLE)
     {
         Vector3        vector2     = obj.specRigidbody.UnitCenter;
         GameObject     gameObject2 = UnityEngine.Object.Instantiate <GameObject>(SingularityObject, vector2, Quaternion.identity);
         tk2dBaseSprite component4  = gameObject2.GetComponent <tk2dBaseSprite>();
         if (component4)
         {
             component4.PlaceAtPositionByAnchor(vector2, tk2dBaseSprite.Anchor.MiddleCenter);
         }
         DebrisObject debrisObject = LootEngine.DropItemWithoutInstantiating(gameObject2, gameObject2.transform.position, Vector2.zero, 0f, false, false, true, false);
         if (gameObject2.GetComponent <BlackHoleDoer>())
         {
             debrisObject.PreventFallingInPits = true;
             debrisObject.PreventAbsorption    = true;
         }
         debrisObject.IsAccurateDebris = true;
         debrisObject.Priority         = EphemeralObject.EphemeralPriority.Critical;
         debrisObject.bounceCount      = 0;
         obj.DestroyCover();
     }
 }