using Kryz.CharacterStats.Examples; using System.Collections; using System.Collections.Generic; using UnityEngine; public class FishingSpotInteractable : Interactable { [SerializeField] private List dropItems = new List(); public bool interacted = false; protected Item drop; protected override void Awake() { base.Awake(); } public override void Interact(bool melee) { if (interacted) return; interacted = true; base.Interact(melee); playerController.StartFishing(); StartCoroutine(FindFish()); } IEnumerator FindFish() { yield return new WaitForSeconds(Random.Range(GameConstants.GameBalancing.MinimumFindFishWaitTime, GameConstants.GameBalancing.MaximumFindFishWaitTime)); playerController.GetComponentInChildren().OnPickup(); } public void OnFishingEnded() { drop = WeightedDrop.GetRandomDrop(dropItems); if(drop != null) { Inventory.Instance.AddItem(drop); } Destroy(this.gameObject); } public override void OnFocused(Transform playerTransform, PlayerController playerController) { base.OnFocused(playerTransform, playerController); } public override void OnDeFocus() { base.OnDeFocus(); } }