public SetAnimTriggerAction(StateBlackboard blackboard, Animator animator, BlackboardKey triggerKey, bool delayFinish = false) : base(blackboard)
 {
     this.animator    = animator;
     this.delayFinish = delayFinish;
     this.triggerKey  = triggerKey;
     this.isDynamic   = true;
 }
 public SetAnimFloatAction(StateBlackboard blackboard, Animator animator, float value, string paramName, BlackboardKey targetKey, bool delayFinish = false) : base(blackboard)
 {
     this.animator    = animator;
     this.paramName   = paramName;
     this.targetKey   = targetKey;
     this.delayFinish = delayFinish;
 }
Example #3
0
        public void AddToBlackboard(Blackboard board, BlackboardKey key)
        {
            switch (option)
            {
            case 0:
                board.Add(key, ScriptableObject);
                break;

            case 1:
                board.Add(key, Vector2Int);
                break;

            case 2:
                board.Add(key, Float);
                break;

            case 3:
                board.Add(key, Int);
                break;
            }
        }
 public void Add <T>(BlackboardKey key, T data)
 {
     dataMap.Add(key, data);
 }
Example #5
0
 public void Remove(BlackboardKey key) => _table.Remove(key.Key.KeyHash);
Example #6
0
 public bool Contains(BlackboardKey key) => Contains(key.Key);
Example #7
0
 public void Add(BlackboardKey key, Element data) => Add(key.Key.KeyHash, data);
Example #8
0
 public void Add <T>(BlackboardKey key, T data) => Add(key.Key.KeyHash, new Element(data));
Example #9
0
 public Element?Retrieve(BlackboardKey key) => Retrieve(key.Key.KeyHash);
Example #10
0
 public T RetrieveData <T>(BlackboardKey key) => (T)(Retrieve(key)?.Data);
 /// <summary>
 /// 设置黑板数据,若设置了有效时间,则有效时间到了之后数据将失效
 /// </summary>
 /// <param name="key"></param>
 /// <param name="value"></param>
 /// <param 有效时间="validTime"></param>
 public void SetValue(BlackboardKey key, object value, float validTime = -1.0f)
 {
     SetValue((int)key, value, validTime);
 }
 /// <summary>
 /// 获取黑板数据
 /// </summary>
 public T GetValue <T>(BlackboardKey key, T defaultValue)
 {
     return(GetValue <T>((int)key, defaultValue));
 }
Example #13
0
        public static MeleeAttackState Create(StateBlackboard blackboard, Animator animator, NavMeshAgent navAgent, MeleeAttackData[] meleeAttacks, Transform transform, BlackboardKey attackRangeKey, BlackboardKey attackTriggerKey, SetAnimTriggerAction walkAction, int priority)
        {
            SetMeleeAttackAction setMeleeAttackAction = new SetMeleeAttackAction(blackboard, meleeAttacks);
            MoveToTargetAction   moveToTargetAction   = new MoveToTargetAction(blackboard, navAgent, attackRangeKey);
            LookAtTargetAction   lookAtAction         = new LookAtTargetAction(blackboard, transform);
            SetAnimTriggerAction attackAction         = new SetAnimTriggerAction(blackboard, animator, attackTriggerKey, true);

            return(new MeleeAttackState(blackboard, setMeleeAttackAction, walkAction, moveToTargetAction, lookAtAction, attackAction, priority));
        }
Example #14
0
 public void Set <T>(BlackboardKey key, T data)
 {
     dataMap[key] = data;
 }
Example #15
0
 public void RemoveFromBlackboard(BlackboardKey key)
 {
 }
Example #16
0
 public void AddToBlackboard(BlackboardKey key, BlackboardTypes entry)
 {
     entry.AddToBlackboard(_agent.AgentBlackboard, key);
 }
 /// <summary>
 /// 尝试从黑板中获取指定数据
 /// </summary>
 public bool TryGetValue <T>(BlackboardKey key, out T value)
 {
     return(TryGetValue <T>((int)key, out value));
 }
 /// <summary>
 /// 黑板中是否包含指定数据
 /// </summary>
 public bool ContainsValue(BlackboardKey key)
 {
     return(ContainsValue((int)key));
 }
 /// <summary>
 /// 删除黑板数据
 /// </summary>
 public bool DeleteValue(BlackboardKey key)
 {
     return(DeleteValue((int)key));
 }
Example #20
0
 public T Get <T>(BlackboardKey key)
 {
     return((T)dataMap[key]);
 }
Example #21
0
 public MoveToTargetAction(StateBlackboard blackboard, NavMeshAgent navAgent, BlackboardKey key) : base(blackboard)
 {
     this.navAgent = navAgent;
     this.key      = key;
     isDynamic     = true;
 }