83 lines
2.4 KiB
C#
83 lines
2.4 KiB
C#
using Assets.Scripts.Actions;
|
|
using Assets.Scripts.Actions.Interfaces;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
|
|
public class PlayerController : MonoBehaviour
|
|
{
|
|
[SerializeField]
|
|
private TextMeshProUGUI _moneyText;
|
|
|
|
public Stat money = new Stat("Money", 100.00);
|
|
public Stat rentAccount = new Stat("Rent Account", 0);
|
|
public Stat foodEnergy = new Stat("Food Energy", 0);
|
|
public Stat restEnergy = new Stat("Rest Energy", 0);
|
|
|
|
// bank
|
|
public Stat bankAccount = new Stat("Bank Account", 0);
|
|
|
|
// jobs
|
|
public Stat job = new Stat("Unemployed", 0);
|
|
|
|
// Knowledge for University Jobs
|
|
public Stat literatureKnowledge = new Stat("LiteratureKnowledge", 0);
|
|
public Stat mathematicsKnowledge = new Stat("MathematicsKnowledge", 0);
|
|
public Stat computerScienceKnowledge = new Stat("ComputerScienceKnowledge", 0);
|
|
|
|
// Knowledge for Factory Jobs
|
|
public Stat electronicsKnowledge = new Stat("ElectronicsKnowledge", 0);
|
|
public Stat roboticsKnowledge = new Stat("RoboticsKnowledge", 0);
|
|
public Stat industrialDesignKnowledge = new Stat("IndustrialDesignKnowledge", 0);
|
|
|
|
public Stat careerPoints = new Stat("careerPoints", 0);
|
|
|
|
// Achievements - to WIN the game
|
|
public Stat whealthAchievement = new Stat("whealthAchievement", 999999);
|
|
public Stat educationAchievement = new Stat("educationAchievement", 999999);
|
|
public Stat careerAchievement = new Stat("careerAchievement", 999999);
|
|
public Stat happinessAchievement = new Stat("happinessAchievement", 999999);
|
|
|
|
// Inventory items
|
|
public Stat freezerItem = new Stat("Freezer Item", 400, 1);
|
|
public Stat clothesItem = new Stat("Clothes Item", 200, 3);
|
|
public Stat booksItem = new Stat("Books Item", 150, 2);
|
|
public Stat tvItem = new Stat("Tv Item", 1500, 1);
|
|
public Stat laptopItem = new Stat("Laptop Item", 3000, 1);
|
|
|
|
|
|
private int _day;
|
|
public int Clock;
|
|
|
|
|
|
// Start is called before the first frame update
|
|
void Start()
|
|
{
|
|
_moneyText.text = $"Money: {money.Value}$";
|
|
}
|
|
|
|
// Update is called once per frame
|
|
void Update()
|
|
{
|
|
|
|
}
|
|
|
|
|
|
public void StartNewDay()
|
|
{
|
|
Clock = 24;
|
|
}
|
|
|
|
public bool TryBuyAction(BaseAction action)
|
|
{
|
|
if(action is ISellableItem)
|
|
{
|
|
if (!money.deduct(((ISellableItem)action).Cost))
|
|
return false;
|
|
_moneyText.text = $"Money: {money.Value}$";
|
|
}
|
|
action.ApplyAction(this);
|
|
return true;
|
|
}
|
|
|
|
}
|