Add Alot of stuff, Computer, repairStation, Whole game, Many things!

This commit is contained in:
2024-11-18 06:31:28 +01:00
parent 19b7964f83
commit a2091c3cf2
430 changed files with 55285 additions and 715 deletions

View File

@@ -1,9 +1,58 @@
using System.Collections;
using System;
using System.Collections.Generic;
using UnityEngine;
using Random = UnityEngine.Random;
public class ComputerBehaviour : MonoBehaviour, IInteractable {
public void Interact() {
HUDManager.Instance.ShowComputerHUD();
[SerializeField] private List<ObjectSO> _objectsToSell = new List<ObjectSO>();
[SerializeField] private EmptyCounter _destinationCounter;
[Range(0, 100)]
[SerializeField] private int _brokenChance = 10;
private ObjectSO _objectToSell;
private bool _isBroken = false;
public event EventHandler OnBuyItem;
private void Start() {
_objectToSell = GetRandomObject();
_isBroken = GetRandomBroken();
}
private ObjectSO GetRandomObject() {
return _objectsToSell[Random.Range(0, _objectsToSell.Count)];
}
private bool GetRandomBroken() {
return Random.Range(0, 100) < _brokenChance;
}
public void Interact(InteractionBehaviour interactionBehaviour) {
if (_destinationCounter.HasObject() || HUDManager.Instance.IsUiOpen) {
return;
}
HUDManager.Instance.BuyItem(this, _objectToSell, _isBroken);
}
public void SkipItem() {
_objectToSell = GetRandomObject();
_isBroken = GetRandomBroken();
HUDManager.Instance.UpdateItem(_objectToSell, _isBroken);
}
public void ConfirmBuy(ObjectSO objectSo, float price, bool isBroken) {
_destinationCounter.SetItem(objectSo, price, isBroken);
OnBuyItem?.Invoke(this, EventArgs.Empty);
GameController.Instance.Money -= price;
_objectToSell = GetRandomObject();
_isBroken = GetRandomBroken();
}
public void SetItem(ObjectSO item, bool isBroken) {
_objectToSell = item;
_isBroken = isBroken;
HUDManager.Instance.UpdateItem(_objectToSell, _isBroken);
}
}