Example #1
0
    public void SimulateTask(IAI _enemy, float _time, int index)
    {
        GameObject _go    = new GameObject();
        DummyEnemy _dummy = _go.AddComponent <DummyEnemy>();

        _dummy.Startup(_enemy, _time);
        for (int i = index; i < _taskElements.Count; i++)
        {
            TaskElement _taskElement = _taskElements[i];
            switch (_taskElement.Action)
            {
            case AIActions.MoveFoward:
                AAMoveForward.SimulateAction(_dummy, _taskElement.GetTarget(), i);
                break;

            case AIActions.LookAt:
                AARotate.SimulateAction(_dummy, _taskElement.GetTarget(), i);
                break;

            case AIActions.Wait:
                AAWait.SimulateAction(_dummy, _taskElement.Value, i);
                break;

            case AIActions.MoveTo:
                AAMoveTo.SimulateAction(_dummy, _taskElement.GetTarget(), i);
                break;
            }
        }
        //_enemy.SetAction(new TaskAction(ActionType.UnsetTask, this, _dummy.Time));
        GameObject.Destroy(_go);
    }
Example #2
0
 void Awake()
 {
     _aaMoveForward = new AAMoveForward(this);
     _aaRotate      = new AARotate(this);
     _aaWait        = new AAWait();
     _aaMoveTo      = new AAMoveTo(this);
     _combat        = GetComponent <CombatState>();
 }