예제 #1
0
        public virtual T?GetValue <T>(BlackboardKey key)
            where T : struct
        {
            if (_objects.TryGetValue(key, out var value) && value is T result)
            {
                return(result);
            }

            return(default);
예제 #2
0
 public override object?GetObject(BlackboardKey key)
 => _blackboard?.GetObject(key);
예제 #3
0
 public override bool HasKey(BlackboardKey key)
 => _blackboard?.HasKey(key) ?? false;
예제 #4
0
 public override void Set(BlackboardKey key, object?value)
 {
     _blackboard?.Set(key, value);
     ValueChanged?.Invoke(key, value);
 }
예제 #5
0
 public override T?GetValue <T>(BlackboardKey key)
 => _blackboard?.GetValue <T>(key);
예제 #6
0
 public override T?GetObject <T>(BlackboardKey key) where T : class
 => _blackboard?.GetObject <T>(key);
예제 #7
0
 public override void Remove(BlackboardKey key)
 => _blackboard?.Remove(key);
예제 #8
0
 public BlackboardProperty(BlackboardKey key)
 {
     Key   = key;
     Value = default;
 }