Dev Improvements (#4)
* Fixed dependency * Updates to NeoDictionary * Changes to NeoDictionary * Started working on a Git implementation to integrate into Game Engines in the future * Added commit functionality to the git library * New changes * Added select for NeoDictionary.cs * Fixed issue with previous new method * Added a Benchmarking Tool to be used mostly in game engines * Added IndexOf to NeoDictionary.cs * Added new method for BenchmarkUtility.cs * added an instacedobject class * Added a new shuffle method for lists * fixed return type * Added new Changelog generator * Added new Game logic library to assist with game projects * Added Web Project * Added Nuget package configs * Add workflow for publishing game library NuGet package * Add README for OmegaLeo's Helper Library * Updated Website to reflect all libraries * Fixed missing library in Changelog * Added Contributing and Code of Conduct
This commit was merged in pull request #4.
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
namespace OmegaLeo.HelperLib.Game.Providers
|
||||
{
|
||||
#if GODOT
|
||||
public partial class GodotDelayedActionRunner : Node
|
||||
{
|
||||
private static GodotDelayedActionRunner _instance;
|
||||
public static DelayedActionManager Manager { get; private set; }
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
if (_instance == null)
|
||||
{
|
||||
_instance = this;
|
||||
Manager = new DelayedActionManager();
|
||||
}
|
||||
}
|
||||
|
||||
public override void _Process(double delta)
|
||||
{
|
||||
Manager?.Update((float)delta);
|
||||
}
|
||||
|
||||
public override void _ExitTree()
|
||||
{
|
||||
if (_instance == this)
|
||||
{
|
||||
Manager?.CancelAll();
|
||||
_instance = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
using System.IO;
|
||||
using OmegaLeo.HelperLib.Game.Interfaces;
|
||||
|
||||
namespace OmegaLeo.HelperLib.Game.Providers
|
||||
{
|
||||
#if GODOT
|
||||
public class GodotSaveFileProvider : ISaveFileProvider
|
||||
{
|
||||
private readonly string _saveFolder;
|
||||
|
||||
public GodotSaveFileProvider(string saveFolder = "Saves")
|
||||
{
|
||||
_saveFolder = saveFolder;
|
||||
}
|
||||
|
||||
public string GetSaveDirectory()
|
||||
{
|
||||
return Path.Combine("user://", _saveFolder);
|
||||
}
|
||||
|
||||
public string GetSavePath(string fileName)
|
||||
{
|
||||
if (!fileName.EndsWith(".json"))
|
||||
fileName += ".json";
|
||||
|
||||
return Path.Combine(GetSaveDirectory(), fileName);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
namespace OmegaLeo.HelperLib.Game.Providers
|
||||
{
|
||||
#if UNITY_EDITOR || UNITY_STANDALONE
|
||||
using UnityEngine;
|
||||
|
||||
namespace OmegaLeo.HelperLib.DelayedActions
|
||||
{
|
||||
public class UnityDelayedActionRunner : MonoBehaviour
|
||||
{
|
||||
private static UnityDelayedActionRunner _instance;
|
||||
public static DelayedActionManager Manager { get; private set; }
|
||||
|
||||
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
|
||||
private static void Initialize()
|
||||
{
|
||||
if (_instance == null)
|
||||
{
|
||||
var go = new GameObject("[DelayedActionRunner]");
|
||||
_instance = go.AddComponent<UnityDelayedActionRunner>();
|
||||
DontDestroyOnLoad(go);
|
||||
Manager = new DelayedActionManager();
|
||||
}
|
||||
}
|
||||
|
||||
private void Update()
|
||||
{
|
||||
Manager?.Update(Time.deltaTime);
|
||||
}
|
||||
|
||||
private void OnDestroy()
|
||||
{
|
||||
if (_instance == this)
|
||||
{
|
||||
Manager?.CancelAll();
|
||||
_instance = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
namespace OmegaLeo.HelperLib.Game.Providers
|
||||
{
|
||||
#if UNITY_EDITOR || UNITY_STANDALONE
|
||||
using System.IO;
|
||||
using UnityEngine;
|
||||
|
||||
namespace OmegaLeo.HelperLib.SaveSystem
|
||||
{
|
||||
public class UnitySaveFileProvider : ISaveFileProvider
|
||||
{
|
||||
private readonly string _saveFolder;
|
||||
|
||||
public UnitySaveFileProvider(string saveFolder = "Saves")
|
||||
{
|
||||
_saveFolder = saveFolder;
|
||||
}
|
||||
|
||||
public string GetSaveDirectory()
|
||||
{
|
||||
return Path.Combine(Application.persistentDataPath, _saveFolder);
|
||||
}
|
||||
|
||||
public string GetSavePath(string fileName)
|
||||
{
|
||||
if (!fileName.EndsWith(".json"))
|
||||
fileName += ".json";
|
||||
|
||||
return Path.Combine(GetSaveDirectory(), fileName);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
Reference in New Issue
Block a user