75 lines
2.0 KiB
C#
75 lines
2.0 KiB
C#
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Text.RegularExpressions;
|
|
using UnityEditor;
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
namespace Rukhanka.Editor
|
|
{
|
|
public class SymbolManager: IDisposable
|
|
{
|
|
protected List<string> symbols = new ();
|
|
bool changed = false;
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
public void ToggleScriptSymbol(string ss, bool on)
|
|
{
|
|
if (on)
|
|
AddScriptSymbol(ss);
|
|
else
|
|
RemoveScriptSymbol(ss);
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
public void RemoveScriptSymbol(string ss)
|
|
{
|
|
if (IsSymbolDefined(ss))
|
|
{
|
|
changed = true;
|
|
symbols.Remove(ss);
|
|
}
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
public void AddScriptSymbol(string ss)
|
|
{
|
|
if (!IsSymbolDefined(ss))
|
|
{
|
|
changed = true;
|
|
symbols.Add(ss);
|
|
}
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
public bool IsSymbolDefined(string ss)
|
|
{
|
|
return symbols.FindIndex(x => x == ss) >= 0;
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
public bool HasChanges() => changed;
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
public virtual void ApplyChanges()
|
|
{
|
|
changed = false;
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
public void Dispose()
|
|
{
|
|
ApplyChanges();
|
|
}
|
|
}
|
|
}
|