Files
Darklings-FightingGame/Assets/_Project/Scripts/DebugScripts/FrameEditor.cs
2022-10-02 12:58:34 +03:00

67 lines
1.7 KiB
C#

using UnityEngine;
using TMPro;
using UnityEngine.UI;
public class FrameEditor : MonoBehaviour
{
[SerializeField] private CharacterEditor _characterEditor = default;
[SerializeField] private Image _frameImage = default;
[SerializeField] private Image _frameSelectedImage = default;
[SerializeField] private Button _frameButton = default;
[SerializeField] private TMP_InputField _durationInputField = default;
private static FrameEditor previousFrameEditor;
void Awake()
{
_durationInputField.onEndEdit.AddListener(UpdateFrameDuration);
_frameButton.onClick.AddListener(ClickFrame);
}
public void SetDuration(int value)
{
_durationInputField.text = value.ToString();
}
public void SetImage(Color color)
{
_frameImage.color = color;
}
private void UpdateFrameDuration(string value)
{
int duration;
if (!int.TryParse(value, out duration))
{
duration = 1;
}
_characterEditor.SetFrameDuration(transform.GetSiblingIndex(), duration);
}
public void EnableFrameSelected()
{
if (previousFrameEditor != null)
{
previousFrameEditor.DisableFrameSelected();
}
previousFrameEditor = this;
_frameSelectedImage.enabled = true;
}
public void DisableFrameSelected()
{
_frameSelectedImage.enabled = false;
}
private void ClickFrame()
{
if (Input.GetKey(KeyCode.LeftControl))
{
_characterEditor.DeleteFrame(transform.GetSiblingIndex());
}
else
{
_characterEditor.GoToFrame(transform.GetSiblingIndex());
}
}
}