Files
beyond/Assets/Scripts/Tutorial/EquipWeaponStep.cs
2024-11-20 15:21:28 +01:00

46 lines
1.8 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace Beyond
{
public class EquipWeaponStep : MonoBehaviour
{
private const int weaponItemID = 3;
public BaseStepController baseStepController;
public bEquipArea equipArea;
public InventoryMenuController inventoryMenuController;
private bool weaponEquipped = false;
// Start is called before the first frame update
private void Start()
{
baseStepController.OnStarted += () => { Player.Instance.ItemManager.onEquipItem.AddListener(TryToMarkAsWeaponEquipped); /*UnequipAxe();*/ };
baseStepController.OnEvaluationStart += () => { CheckIfWeaponEquipped(); };
baseStepController.ConditionsAreMet += () => weaponEquipped;
//open gemstones on completed
baseStepController.OnCompleted += () => { inventoryMenuController.TryToSelectGemstoneInResources(); Player.Instance.ItemManager.onEquipItem.RemoveListener(TryToMarkAsWeaponEquipped); };
}
public void CheckIfWeaponEquipped()
{
//in case player equips the sword before the check begins
if (equipArea.equipSlots.Find(slot => slot.item && slot.item.id == weaponItemID))
{
weaponEquipped = true;
Player.Instance.ItemManager.onEquipItem.RemoveListener(TryToMarkAsWeaponEquipped);
}
}
private void TryToMarkAsWeaponEquipped(bEquipArea area, bItem weapon)
{
if (weapon.id == weaponItemID)
{
weaponEquipped = true;
}
Player.Instance.ItemManager.onEquipItem.RemoveListener(TryToMarkAsWeaponEquipped);
}
}
}