示例#1
0
    public override void StartAction()
    {
        if (toyTask == null)
        {
            SelectNearestToy();
            // TODO more toys
            toyTask = ActionUtils.Instance.CreatCatTaskByType(TaskType.PlayBall, toyObj, Vector3.zero, GetCat());
        }

        if (toyObj == null)
        {
            Debug.LogError("Cannot find any Toy");
            return;
        }
        CatRunTask runTask = ActionUtils.Instance.CreatCatTaskByType(TaskType.Run, toyObj, toyObj.transform.position, GetCat()) as CatRunTask;

        runTask.StopDistance = 0.5f;

        CatPlayBallTask playBallTask = actionHolder.AddComponent <CatPlayBallTask>();

        playBallTask.SetTaskTarget(toyObj, Vector3.zero, GetCat());

        TaskChain chain = actionHolder.AddComponent <TaskChain>();

        chain.PushTask(runTask);
        chain.PushTask(playBallTask);
        chain.notifyTaskChainEnd += OnTaskChainEnd;

        chain.StartTaskChain();
    }
示例#2
0
    void RandomSelectIdelTask()
    {
        TaskType rndType = idleTypes[Random.Range(0, idleTypes.Length - 1)];

        switch (rndType)
        {
        case TaskType.Idle:
            idleTask = ActionUtils.Instance.CreatCatTaskByType(TaskType.Idle, null, Vector3.zero, GetCat());
            break;

        case TaskType.Miao:
            idleTask = ActionUtils.Instance.CreatCatTaskByType(TaskType.Miao, null, Vector3.zero, GetCat());
            break;

        case TaskType.Tickle:
            idleTask = ActionUtils.Instance.CreatCatTaskByType(TaskType.Tickle, null, Vector3.zero, GetCat());
            break;

        case TaskType.LickHair:
            idleTask = ActionUtils.Instance.CreatCatTaskByType(TaskType.LickHair, null, Vector3.zero, GetCat());
            break;

        default:
            idleTask = ActionUtils.Instance.CreatCatTaskByType(TaskType.Idle, null, Vector3.zero, GetCat());
            break;
        }
    }
示例#3
0
 public void SetToyTask(CatTask task)
 {
     this.toyTask = task;
 }
示例#4
0
 public void SetIdleTask(CatTask task)
 {
     this.idleTask = task;
 }