// pickup spawning public void PickedUp(GameObject pickup) { PickupsType type = pickup.GetComponent <Pickups>().Type; int amount = pickup.GetComponent <Pickups>().Amount; switch (type) { case PickupsType.Health: data.DamegPlayer(amount * -1); break; case PickupsType.Ammo: data.AddAmmo(amount); level.AmmoGatherd += amount; break; case PickupsType.Shotgun: case PickupsType.Pistol: case PickupsType.Machinegun: type = player.GetComponent <PlayerAttack>().gun.GetComponent <Weapons>().Type; player.GetComponent <PlayerAttack>().gun.GetComponent <Weapons>().Copy(pickup); if (type != PickupsType.Nothing) { GameObject temp = DropPickup( pickup.transform.position, amount, type ); // ignore the player for 15 sec IgnorePlayer(temp.GetComponent <Collider2D>(), true); temp.GetComponent <Weapons>().Dropped(); } break; } }
internal GameObject DropPickup(Vector3 position, int amount, PickupsType type) { GameObject pickup; pickup = Instantiate(Pickups[(int)type], position, Quaternion.identity); pickup.GetComponent <Pickups>().SetAmount(amount); return(pickup); }