Files
Darklings-FightingGame/Assets/_Project/Scripts/UIScripts/FrameMeterSystem.cs

55 lines
1.8 KiB
C#

using Demonics;
using UnityEngine;
public class FrameMeterSystem : MonoBehaviour
{
[SerializeField] private FrameMeter _framedataMeterOne = default;
[SerializeField] private FrameMeter _framedataMeterTwo = default;
private FramedataTypesEnum _framedataOne;
private FramedataTypesEnum _framedataTwo;
private int _cycles;
public int Index { get; private set; }
public void AddFrame(int playerOne, FramedataTypesEnum framedataEnum)
{
if (playerOne == 0)
_framedataOne = framedataEnum;
else
_framedataTwo = framedataEnum;
}
public void RunFrame()
{
if (_framedataMeterOne.WasPreviousNone && _framedataMeterTwo.WasPreviousNone)
{
if (_framedataOne != FramedataTypesEnum.None || _framedataTwo != FramedataTypesEnum.None)
{
_framedataMeterOne.ClearFrames();
_framedataMeterTwo.ClearFrames();
Index = 0;
_cycles = 0;
}
}
if (_framedataOne == FramedataTypesEnum.None && _framedataTwo == FramedataTypesEnum.None)
{
int actionFrameOne = _framedataMeterOne.ActionFrame;
int actionFrameTwo = _framedataMeterTwo.ActionFrame;
_framedataMeterOne.SetRecovery(actionFrameTwo - actionFrameOne);
_framedataMeterTwo.SetRecovery(actionFrameOne - actionFrameTwo);
}
_framedataMeterOne.AddFrame(_framedataOne, Index, _cycles);
_framedataMeterTwo.AddFrame(_framedataTwo, Index, _cycles);
if (_framedataOne != FramedataTypesEnum.None || _framedataTwo != FramedataTypesEnum.None)
Index++;
if (Index >= 60)
{
_cycles++;
Index = 0;
_framedataMeterOne.FadeFrames();
_framedataMeterTwo.FadeFrames();
}
}
}