46 lines
1.8 KiB
C#
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);
|
|
}
|
|
}
|
|
} |