GameVsJam/3d Prototyp/Assets/Scripts/Developer.cs

64 lines
1.6 KiB
C#
Raw Normal View History

2024-04-04 15:26:31 +02:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Serialization;
2024-04-04 15:26:31 +02:00
public class Developer : MonoBehaviour
{
private string _name;
2024-04-04 15:26:31 +02:00
/// <summary>
/// Manche Entwickler sind einfach effizienter als andere.
2024-04-04 15:26:31 +02:00
/// </summary>
[SerializeField]
private double _baseEfficiency = 1.0;
[SerializeField, ShowOnly]
private double currentCurrentEfficiency = 1.0;
/// <summary>
/// Ich hoffe, dass der Entwickler eine Arbeitsunfähigkeitsversicherung hat.
/// </summary>
[SerializeField]
private int _fingersLeft = 10;
/// <summary>
/// Gibt die Grundeffizienz des Entwicklers zurück.
/// </summary>
public double BaseEfficiency => _baseEfficiency;
/// <summary>
/// Gibt die Anzahl der Finger zurück.
/// </summary>
public int FingersLeft => _fingersLeft;
/// <summary>
/// Gibt die aktuelle Effizienz des Entwicklers in Prozent zurück.
/// </summary>
public double CurrentEfficiency => currentCurrentEfficiency;
public string Name => _name;
public void UpdateEfficiency()
{
currentCurrentEfficiency = _baseEfficiency * (_fingersLeft / 10.0);
}
/// <summary>
/// Der Entwickler wird verletzt und der Idiot bricht sich ausgerechnet einen Finger...
/// </summary>
public void Hurt()
{
_fingersLeft--;
// Ob er stirbt oder nicht, für uns hat er auf jeden Fall seinen Nutzen verloren.
if (_fingersLeft == 0)
Die();
}
private void Die()
{
Debug.Log($"{Name} ist verreckt.");
}
2024-04-04 15:26:31 +02:00
}