This commit is contained in:
manhduyhoang90
2026-05-26 09:46:57 +07:00
commit 167a617e09
1758 changed files with 1757605 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
using Unity.FPS.Game;
using UnityEngine;
namespace Unity.FPS.Gameplay
{
public class ObjectivePickupItem : Objective
{
[Tooltip("Item to pickup to complete the objective")]
public GameObject ItemToPickup;
protected override void Start()
{
base.Start();
EventManager.AddListener<PickupEvent>(OnPickupEvent);
}
void OnPickupEvent(PickupEvent evt)
{
if (IsCompleted || ItemToPickup != evt.Pickup)
return;
// 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)
CompleteObjective(string.Empty, string.Empty, "Objective complete : " + Title);
if (gameObject)
{
Destroy(gameObject);
}
}
void OnDestroy()
{
EventManager.RemoveListener<PickupEvent>(OnPickupEvent);
}
}
}