Entwickler haben also Bedürfnisse?
This commit is contained in:
@ -1,3 +1,4 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@ -7,7 +8,9 @@ using Utility;
|
||||
|
||||
public partial class GameManager : MonoBehaviourSingleton<GameManager>
|
||||
{
|
||||
[SerializeField] private Difficulty _difficulty = Difficulty.Medium;
|
||||
[SerializeField] private Difficulty _difficulty = Difficulty.Medium;
|
||||
|
||||
public GameObject NeedFullfilledParticleEffect;
|
||||
|
||||
[SerializeField]
|
||||
private double _totalGameDurationSeconds;
|
||||
@ -18,14 +21,25 @@ public partial class GameManager : MonoBehaviourSingleton<GameManager>
|
||||
[SerializeField, ShowOnly]
|
||||
private double _currentEfficiency = 0.0;
|
||||
|
||||
[SerializeField]
|
||||
private double _generalNeedDrainScaling = 0.001;
|
||||
|
||||
[SerializeField]
|
||||
private List<Developer> _developers = new();
|
||||
|
||||
[SerializeField]
|
||||
private MultiFalsableBool _gameRunning = new(false);
|
||||
|
||||
[SerializeField, Tooltip("Der Schwellwert am dem eine Benachrichtigung für das Bedürfnis ausgelöst wird.")]
|
||||
private double _needNotificationThreshold = 0.25;
|
||||
|
||||
[SerializeField]
|
||||
private DifficultySettings _difficultySettings;
|
||||
|
||||
public Difficulty Difficulty => _difficulty;
|
||||
|
||||
public double NeedNotificationThreshold => _needNotificationThreshold;
|
||||
|
||||
/// <summary>
|
||||
/// Wie weit das Spiel bereits fortgeschritten ist.
|
||||
/// </summary>
|
||||
@ -57,7 +71,9 @@ public partial class GameManager : MonoBehaviourSingleton<GameManager>
|
||||
{
|
||||
TimeManager.Instance.Init();
|
||||
|
||||
_totalGameDurationSeconds = TimeManager.Instance.CalculateActualDeveloperTime(_difficulty, 4);
|
||||
_difficultySettings = _difficulty.GetSettings();
|
||||
|
||||
_totalGameDurationSeconds = TimeManager.Instance.CalculateActualDeveloperTime(_difficultySettings, 4);
|
||||
|
||||
_remainingGameDurationSeconds = _totalGameDurationSeconds;
|
||||
|
||||
@ -131,8 +147,13 @@ public partial class GameManager : MonoBehaviourSingleton<GameManager>
|
||||
{
|
||||
double developerEfficiency = 0.0f;
|
||||
|
||||
double caffeineDrain = _generalNeedDrainScaling * Math.Pow(2, _difficultySettings.CaffeineDrainScaling * GameProgress);
|
||||
double hungerDrain = _generalNeedDrainScaling * Math.Pow(2, _difficultySettings.HungerDrainScaling * GameProgress);
|
||||
double urinationDrain = _generalNeedDrainScaling * Math.Pow(2, _difficultySettings.UrinationDrainScaling * GameProgress);
|
||||
|
||||
foreach (Developer developer in _developers)
|
||||
{
|
||||
developer.UpdateStats(caffeineDrain, hungerDrain, urinationDrain);
|
||||
developer.UpdateEfficiency();
|
||||
developerEfficiency += developer.CurrentEfficiency;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user