59 lines
1.4 KiB
C#
59 lines
1.4 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.Serialization;
|
|
using Utility;
|
|
|
|
public class Developer : MonoBehaviour
|
|
{
|
|
private string _name;
|
|
|
|
[SerializeField]
|
|
private double _baseEfficiency = 1.0;
|
|
|
|
[SerializeField, ShowOnly]
|
|
private double _currentCurrentEfficiency = 1.0;
|
|
|
|
[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.");
|
|
}
|
|
}
|