79 lines
2.3 KiB
C#
79 lines
2.3 KiB
C#
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.SignalR;
|
|
using RobotNet.ScriptManager.Services;
|
|
|
|
namespace RobotNet.ScriptManager.Hubs;
|
|
|
|
[Authorize]
|
|
public class VariablesHub(ScriptGlobalsManager globalsManager) : Hub
|
|
{
|
|
public string GetString(string name)
|
|
{
|
|
if (globalsManager.GetVariableType(name) == typeof(string) && globalsManager.Globals.TryGetValue(name, out var value) && value is string strValue)
|
|
{
|
|
return strValue;
|
|
}
|
|
|
|
return string.Empty;
|
|
}
|
|
|
|
public int GetInt(string name)
|
|
{
|
|
if (globalsManager.GetVariableType(name) == typeof(int) && globalsManager.Globals.TryGetValue(name, out var value) && value is int intValue)
|
|
{
|
|
return intValue;
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
public bool GetBool(string name)
|
|
{
|
|
if (globalsManager.GetVariableType(name) == typeof(bool) && globalsManager.Globals.TryGetValue(name, out var value) && value is bool boolValue)
|
|
{
|
|
return boolValue;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public double GetDouble(string name)
|
|
{
|
|
if (globalsManager.GetVariableType(name) == typeof(double) && globalsManager.Globals.TryGetValue(name, out var value) && value is double doubleValue)
|
|
{
|
|
return doubleValue;
|
|
}
|
|
return 0.0;
|
|
}
|
|
|
|
public void SetString(string name, string value)
|
|
{
|
|
if (globalsManager.GetVariableType(name) == typeof(double) && globalsManager.Globals.ContainsKey(name))
|
|
{
|
|
globalsManager.Globals[name] = value;
|
|
}
|
|
}
|
|
|
|
public void SetInt(string name, int value)
|
|
{
|
|
if (globalsManager.GetVariableType(name) == typeof(int) && globalsManager.Globals.ContainsKey(name))
|
|
{
|
|
globalsManager.Globals[name] = value;
|
|
}
|
|
}
|
|
|
|
public void SetBool(string name, bool value)
|
|
{
|
|
if (globalsManager.GetVariableType(name) == typeof(bool) && globalsManager.Globals.ContainsKey(name))
|
|
{
|
|
globalsManager.Globals[name] = value;
|
|
}
|
|
}
|
|
|
|
public void SetDouble(string name, double value)
|
|
{
|
|
if (globalsManager.GetVariableType(name) == typeof(double) && globalsManager.Globals.ContainsKey(name))
|
|
{
|
|
globalsManager.Globals[name] = value;
|
|
}
|
|
}
|
|
}
|