2025-06-16 17:48:00 +08:00

91 lines
1.5 KiB
C#

using QFramework;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
public class VarController : MonoSingleton<VarController>
{
[SerializeField]
public Dictionary<string, float> varDict;
[ContextMenu("Êä³öµ±Ç°µÄvar")]
public void PrintvarDict()
{
var entries = varDict.ToList();
for (int i = 0; i < entries.Count; i++)
{
var entry = entries[i];
Debug.Log($"Key: {entry.Key}, Value: {entry.Value}");
}
}
public override void OnSingletonInit()
{
base.OnSingletonInit();
varDict = new Dictionary<string, float>();
TypeEventSystem.Global.Register<OnModuleQuit>(OnQuit).UnRegisterWhenGameObjectDestroyed(gameObject);
}
private void OnQuit(OnModuleQuit quit)
{
varDict.Clear();
}
public void Set(string key, float value)
{
if (varDict.ContainsKey(key))
{
varDict[key] = value;
}
else
{
varDict.Add(key, value);
}
}
public float Get(string key)
{
if (varDict.ContainsKey(key))
{
return varDict[key];
}
else
{
return 0;
}
}
protected override void OnDestroy()
{
base.OnDestroy();
if (varDict!=null)
{
varDict.Clear();
varDict = null;
}
}
}