コード例 #1
0
    private IEnumerator RemoveAction(randomAction actionToRemove)
    {
        actionToRemove.isDone = false;
        yield return(new WaitForSeconds(actionToRemove.waitFor));

        doAction -= actionToRemove.toDoAction;
        actionToRemove.isDone = true;
    }
コード例 #2
0
    private void BehaviourAction()
    {
        randomAction action = rand.GetRandomValue();

        if (action.isDone)
        {
            doAction += action.toDoAction;
            StartCoroutine(RemoveAction(action));
        }

        Debug.Log("Number of listeners: " + doAction.GetInvocationList().Length);
    }
コード例 #3
0
    private void ChaseTarget()
    {
        //float distance = Vector2.Distance(gameObject.transform.position, target.position);
        pirate.AddForce(direction * 5);
        pirate.velocity = ClampVelocity(pirate.velocity);

        randomAction action = rand.GetRandomValue();

        if (action.toDoAction.Equals((Action)Fire) && action.isDone)
        {
            doAction += action.toDoAction;
            StartCoroutine(RemoveAction(action));
        }
    }