Пример #1
0
    public override void OnEnter(ref AiParam _param)
    {
        if (_param == null || _param.NavAgent == null)
            return;

        _param.OnAiActionChanged (UnityChan_Ctrl.ActionState.Walk);

        //_param.NavAgent.Resume ();
        Movement (ref _param);

        int searchMax = 30;

        for (var i = 0; i < searchMax; i++)
        {
            Vector3 randomPoint = _param.Owner.transform.position + Random.insideUnitSphere * 3F;
            NavMeshHit hit;
            if (NavMesh.SamplePosition (randomPoint, out hit, 1F, 0xFF)) {

                NavMeshPath path = new NavMeshPath();
                if(_param.NavAgent.CalculatePath(hit.position, path) == true)
                {
                    _param.NavAgent.SetPath(path);
                    return;
                }
            }
        }
    }
Пример #2
0
    public override void OnEnter(ref AiParam _param)
    {
        if (_param == null || _param.NavAgent == null || _param.ObjTarget == null)
            return;

        _param.OnAiActionChanged (UnityChan_Ctrl.ActionState.Run);

        //_param.NavAgent.Resume ();
        Movement (ref _param);
        _param.NavAgent.SetDestination (_param.ObjTarget.transform.position);
    }
Пример #3
0
    public override void OnEnter(ref AiParam _param)
    {
        if (_param == null)
            return;

        //if (_param.NavAgent != null) _param.NavAgent.enabled = false;

        _param.OnAiActionChanged (UnityChan_Ctrl.ActionState.Idle);

        _param.WaitTime = PAINT_WALL_FREQ;
    }
Пример #4
0
    public override void OnEnter(ref AiParam _param)
    {
        if (_param == null)
            return;

        _param.OnAiActionChanged (UnityChan_Ctrl.ActionState.Idle);

        _param.Weight = 0F;

        _param.Vec3Start = _param.Vec3Target;
        _param.Vec3End = ((Quaternion.Euler (new Vector3 (0F, Random.Range(-45F,45F), 0F)) * _param.Owner.transform.forward) * VISIBLED_RANGE) + _param.Owner.transform.position;
    }
Пример #5
0
    public override void OnEnter(ref AiParam _param)
    {
        if (_param == null)
            return;

        //if (_param.NavAgent != null) _param.NavAgent.enabled = false;

        _param.OnAiActionChanged (UnityChan_Ctrl.ActionState.Idle);

        if (mSnowBall == null) mSnowBall = GameObject.Instantiate(Resources.Load("SnowBall")) as GameObject;
        if (mSnowBall != null) mSnowBall.name = "FreeBall";
    }
Пример #6
0
    public override void OnEnter(ref AiParam _param)
    {
        if (_param == null || _param.NavAgent == null)
            return;

        _param.OnAiActionChanged (UnityChan_Ctrl.ActionState.Walk);

        _param.Weight = 0F;

        //_param.NavAgent.Resume ();
        Movement (ref _param);

        SearchReloadPoint (ref _param);
    }