AsteroidGame/Assets/Handlers/PowerHandler.cs

59 lines
1.5 KiB
C#

using System;
using AsteroidGame.Entities;
using UnityEngine;
namespace AsteroidGame.Handlers
{
public class PowerHandler : HandlerBase
{
[Header("State")]
[SerializeField] private int _powerConsumption;
[SerializeField] private int _powerCapacity;
[SerializeField] private float _powerFactor;
[Header("Connections")]
[SerializeField] private SStructureBaseRuntimeSet _activeStructures;
private void Update()
{
_powerConsumption = 0;
_powerCapacity = 0;
foreach (var structure in _activeStructures._list)
{
if (structure.IsConsumer)
{
_powerConsumption += structure.GetMaxPower();
}
if (structure.IsGenerator)
{
_powerCapacity += structure.GetMaxPower();
}
}
if (_powerCapacity > 0)
{
_powerFactor = (float)_powerConsumption / _powerCapacity;
}
else
{
_powerFactor = 0;
}
}
public int GetMaxPower()
{
throw new NotImplementedException();
}
public int GetCurrentPower()
{
throw new NotImplementedException();
}
public float GetPowerFactor()
{
throw new NotImplementedException();
}
}
}