예제 #1
0
    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);
        }
    }
예제 #2
0
    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);
        }
    }
예제 #3
0
    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);
        }
    }
예제 #4
0
    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);
            }
        }
    }