示例#1
0
    public override void Execute(ref BlackboardComponent blackboard)
    {
        Vector2 vec   = blackboard.BlackboardData.At <Vector2>(VectorKeyName);
        float   speed = blackboard.BlackboardData.At <float>(SpeedKeyName);

        blackboard.GetComponent <Rigidbody2D>().AddForce(vec * speed);
    }
示例#2
0
 public void ExecuteActions(BlackboardComponent blackboard)
 {
     foreach (ActionLogic a in Actions)
     {
         a.Execute(ref blackboard);
     }
 }
示例#3
0
        private void Start()
        {
            worldBlackboard = GameObject.Find("GameRule").GetComponentInChildren <BlackboardComponent> ();

            blackboard.Set("StealCD", TimeManager.EnemyTime);

            agent.agent.plan();
        }
示例#4
0
    public override void Execute(ref BlackboardComponent blackboard)
    {
        Vector3 cursorPos = Input.mousePosition;
        Vector3 movePos   = Camera.main.ScreenToWorldPoint(cursorPos) - blackboard.transform.position;

        movePos.z = 0;
        movePos.Normalize();

        blackboard.BlackboardData.Insert(VectorKeyName, new Vector2(movePos.x, movePos.y));
    }
示例#5
0
    public override void Execute(ref BlackboardComponent blackboard)
    {
        if (blackboard.BlackboardData.At <bool>(DmgKey))
        {
            int hp = blackboard.BlackboardData.At <int>(HealthKey) - 1;
            if (hp < 0)
            {
                hp = 0;
            }

            blackboard.BlackboardData.Insert(HealthKey, hp);
            blackboard.BlackboardData.Insert(DmgKey, false);

            blackboard.gameObject.GetComponent <PlayerController>().UIControllerObject.ChangeHealth(hp);
        }
    }
示例#6
0
    public void TestConditions(BlackboardComponent blackboard)
    {
        foreach (ConditionLogic c in Conditions)
        {
            bool res = c.Execute(ref blackboard);

            if (res && c.TrueStateTransition != null)
            {
                blackboard.Transition(c.TrueStateTransition);
            }
            else if (!res && c.FalseStateTransition != null)
            {
                blackboard.Transition(c.FalseStateTransition);
            }
        }
    }
示例#7
0
 public override void Awake()
 {
     blackboard = gameObject.GetComponentInChildren <BlackboardComponent> ();
 }
 public override void Execute(ref BlackboardComponent blackboard)
 {
     blackboard.BlackboardData.Insert(VectorKeyName, Direction);
 }
 public override void Awake()
 {
     blackboard = GameObject.Find("GameRule").GetComponentInChildren <BlackboardComponent>();
 }
 public override bool Execute(ref BlackboardComponent blackboard)
 {
     return(blackboard.BlackboardData.At <bool>(CollisionKey));
 }
示例#11
0
 public override bool Execute(ref BlackboardComponent blackboard)
 {
     return(blackboard.TimeSinceState >= 3f);
 }
示例#12
0
    public override void Execute(ref BlackboardComponent blackboard)
    {
        Vector3 targetVec = blackboard.BlackboardData.At <Vector2>(TargetKeyName);

        blackboard.BlackboardData.Insert(VectorKeyName, new Vector2(targetVec.x, targetVec.y));
    }
示例#13
0
 public abstract void Execute(ref BlackboardComponent blackboard);
示例#14
0
		public override void Awake () {
			statCollection = gameObject.GetComponentInChildren<RPGStatCollection>();
			blackboard     = GameObject.Find ( "GameRule" ).GetComponentInChildren<BlackboardComponent>();
		}
示例#15
0
 public abstract bool Execute(ref BlackboardComponent blackboard);