Files
MetalGear2D.Unity/Assets/Scripts/AI/BehaviorTree/AiBlackboard.cs
T

48 lines
1.2 KiB
C#
Raw Normal View History

2025-05-13 05:19:58 +03:00
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public static class BlackboardVariables {
public static string LastEnemyPosition = "lastEnemyPosition";
public static string LastSound = "lastSound";
public static string LastSuspiciousTime = "lastSuspTime";
public static string Enemy = "enemy";
}
public class AiBlackboard : MonoBehaviour {
private Dictionary<string, object> _values = new Dictionary<string, object>();
public GameObject Obj {
get {
return (GameObject)_values["gameobject"];
}
}
public void SetValue(string key, object val) {
_values[key] = val;
}
/*public bool GetValue(string key, out object val) {
if (_values.ContainsKey(key)) {
val = _values[key];
return true;
}
val = null;
return false;
}*/
public bool GetValue<T>(string key, out T obj) {
if (_values.ContainsKey(key)) {
obj = (T)_values[key];
return true;
}
obj = default(T);
return false;
}
public bool RemoveValue(string key) {
return _values.Remove(key);
}
}