mirror of
https://github.com/aharabada/glitchy-engine-beef.git
synced 2026-09-05 21:01:52 +00:00
Added logger
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
using System;
|
||||
using System.Text;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace GlitchLog
|
||||
{
|
||||
public static class GlitchLog
|
||||
{
|
||||
private static String _format;
|
||||
internal static String _preparedFormat ~ delete _;
|
||||
internal static StringView _preMsgFormat;
|
||||
internal static StringView _postMsgFormat;
|
||||
|
||||
public static String Format
|
||||
{
|
||||
get => _format;
|
||||
set
|
||||
{
|
||||
_format = value;
|
||||
|
||||
PrepareFormat();
|
||||
}
|
||||
}
|
||||
|
||||
static void PrepareFormat()
|
||||
{
|
||||
delete _preparedFormat;
|
||||
|
||||
// Length = 0 -> no format -> only print msg
|
||||
if(_format.Length == 0)
|
||||
{
|
||||
_preMsgFormat.Ptr = null;
|
||||
_postMsgFormat.Ptr = null;
|
||||
}
|
||||
|
||||
_preparedFormat = new .(_format);
|
||||
|
||||
// Todo: this is utter garbage
|
||||
_preparedFormat.Replace("{l", "{0");
|
||||
_preparedFormat.Replace("{t", "{1");
|
||||
_preparedFormat.Replace("{n", "{2");
|
||||
|
||||
int index = _preparedFormat.IndexOf("{m}");
|
||||
|
||||
// {m} not in format-string -> format is pre msg
|
||||
if(index == -1)
|
||||
{
|
||||
_preMsgFormat = _preparedFormat;
|
||||
_postMsgFormat.Ptr = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(index == 0)
|
||||
_preMsgFormat.Ptr = null;
|
||||
else
|
||||
_preMsgFormat = .(_preparedFormat, 0, index);
|
||||
|
||||
if(index == _preparedFormat.Length - 3)
|
||||
_postMsgFormat.Ptr = null;
|
||||
else
|
||||
_postMsgFormat = .(_preparedFormat, index + 3, _preparedFormat.Length - index - 3);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user