Bug fixes plus extra features

- Insert adds a new keyframe to the selected timeline
- New stages have frames cloned from the last frame of current stage
- Existing key are now replaced when another key is dropped on them
- Fixed bug where starting a new animation could result in errors
This commit is contained in:
AbstractConcept 2022-10-18 21:57:43 -05:00
parent ca22fa0c18
commit 2989d9a72c
137 changed files with 527 additions and 668 deletions

View file

@ -8,26 +8,30 @@ using UnityEngine;
namespace RimWorldAnimationStudio
{
public class KeybindConfig : Singleton<KeybindConfig>
public class KeybindConfig
{
private static List<Keybind> keybinds = new List<Keybind>();
private static bool initialized = false;
public void Awake()
public static void Initialize()
{
string path = Path.Combine(Application.streamingAssetsPath, "keybindConfig.xml");
keybinds = XmlUtility.ReadXML<List<Keybind>>(path);
initialized = true;
}
public List<Keybind> GetAllKeybinds()
public static List<Keybind> GetAllKeybinds()
{
if (initialized == false)
{ Initialize(); }
return keybinds;
}
public string GetKeybindLabel(string command)
public static string GetKeybindLabel(string command)
{
string label = "";
Keybind keybind = keybinds.FirstOrDefault(x => x.command == command);
Keybind keybind = GetAllKeybinds()?.FirstOrDefault(x => x.command == command);
if (keybind == null) return label;