void OnPicked(PlayerCharacterController player) { Health playerHealth = player.GetComponent <Health>(); if (playerHealth && playerHealth.canPickup()) { float healing = playerHealth.Heal(healAmount); TelemetryLogger.LogCollect("Healing", transform.position, name, healing); m_Pickup.PlayPickupFeedback(); Destroy(gameObject); } }
void OnPickup(PlayerCharacterController player) { if (m_Objective.isCompleted) { return; } TelemetryLogger.LogCollect("Objective", transform.position, m_Objective.title); // this will trigger the objective completion // it works even if the player can't pickup the item (i.e. objective pickup healthpack while at full heath) m_Objective.CompleteObjective(string.Empty, string.Empty, "Objective complete : " + m_Objective.title); if (gameObject) { Destroy(gameObject); } }
void OnPicked(PlayerCharacterController byPlayer) { var jetpack = byPlayer.GetComponent <Jetpack>(); if (!jetpack) { return; } if (jetpack.TryUnlock()) { m_Pickup.PlayPickupFeedback(); TelemetryLogger.LogCollect("Ability", transform.position, "Jetpack"); Destroy(gameObject); } }
void OnPicked(PlayerCharacterController byPlayer) { PlayerWeaponsManager playerWeaponsManager = byPlayer.GetComponent <PlayerWeaponsManager>(); if (playerWeaponsManager) { if (playerWeaponsManager.AddWeapon(weaponPrefab)) { // Handle auto-switching to weapon if no weapons currently if (playerWeaponsManager.GetActiveWeapon() == null) { playerWeaponsManager.SwitchWeapon(true); } m_Pickup.PlayPickupFeedback(); TelemetryLogger.LogCollect("Weapon", transform.position, weaponPrefab.weaponName, playerWeaponsManager.GetWeaponsHeldCount()); Destroy(gameObject); } } }