Files

42 lines
1.8 KiB
C#
Raw Permalink Normal View History

2021-12-07 05:48:34 +01:00
using System.Collections;
2021-12-06 21:19:31 +01:00
using System.Collections.Generic;
2021-12-05 20:23:50 +01:00
using UnityEngine;
public class InputHistory : MonoBehaviour
{
[SerializeField] Transform _inputHistoryContainer = default;
private InputHistoryImage _inputHistoryImage;
2022-10-21 21:20:37 +03:00
public PlayerController PlayerController { get; set; }
2023-10-26 22:42:28 +03:00
private List<int> previousTriggers = new();
2023-07-02 23:17:37 +03:00
private int previousSequence = -1;
2023-10-26 22:42:28 +03:00
public List<InputItemNetwork> Inputs { get; set; } = new();
public InputItemNetwork[] Sequences { get; set; }
public void UpdateDisplay(InputList inputList, InputBufferNetwork inputBuffer)
2022-10-21 21:20:37 +03:00
{
2023-10-26 22:42:28 +03:00
Inputs.Clear();
Inputs.AddRange(inputBuffer.triggers);
Inputs.AddRange(inputBuffer.sequences);
2023-10-28 18:22:00 +03:00
List<int> triggers = new();
for (int i = 0; i < inputList.inputTriggers.Length; i++)
2023-10-28 18:22:00 +03:00
if (inputList.inputTriggers[i].held && !inputList.inputTriggers[i].sequence)
2023-07-02 23:17:37 +03:00
if (!triggers.Contains(i))
triggers.Add(i);
2023-10-28 18:22:00 +03:00
int sequence = 0;
for (int i = 0; i < inputList.inputTriggers.Length; i++)
if (inputList.inputTriggers[i].held && inputList.inputTriggers[i].sequence)
sequence = (int)inputList.inputTriggers[i].inputEnum;
2023-07-02 23:17:37 +03:00
if (triggers.Count != previousTriggers.Count || sequence != previousSequence)
2022-10-21 21:20:37 +03:00
{
_inputHistoryContainer.GetChild(_inputHistoryContainer.childCount - 1).transform.SetAsFirstSibling();
_inputHistoryImage = _inputHistoryContainer.GetChild(0).GetComponent<InputHistoryImage>();
2023-07-02 23:17:37 +03:00
_inputHistoryImage.UpdateDisplay(sequence, triggers.ToArray());
2022-10-21 21:20:37 +03:00
}
if (_inputHistoryImage != null)
_inputHistoryImage.UpdateFramesDisplay();
2023-07-02 23:17:37 +03:00
previousSequence = sequence;
previousTriggers = triggers;
2022-10-21 21:20:37 +03:00
}
2021-12-05 20:23:50 +01:00
}