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

        IncreasingIK (ref _param);

        if(IsArrival(ref _param) == true) _param.OnAiStrategyChanged(AiFactory.AiStrategyType.Standby);
    }
Пример #2
0
    public override void OnUpdate(ref AiParam _param)
    {
        if (_param == null || _param.NavAgent == null || _param.ObjTarget == null)
            return;

        IncreasingIK (ref _param);

        if(IsCatchable(ref _param) == true) _param.OnAiStrategyChanged(AiFactory.AiStrategyType.Idle);
        else if(IsArrival(ref _param) == true) _param.NavAgent.SetDestination (_param.ObjTarget.transform.position);
    }
Пример #3
0
    public override void OnUpdate(ref AiParam _param)
    {
        if (_param == null)
            return;

        _param.Vec3Target = _param.Owner.transform.position + _param.Owner.transform.forward * VISIBLED_RANGE;

        DecreasingIK (ref _param);

        if(SearchForEnemy(ref _param, VISIBLED_RANGE) == true)
        {
            _param.OnAiStrategyChanged(AiFactory.AiStrategyType.Fight);
        }
        else if(IsArrival(ref _param) == true)
        {
            _param.OnAiEmotionChanged(UnityChan_Ctrl.EmotionState.Default);
            _param.OnAiStrategyChanged(AiFactory.AiStrategyType.Idle);
        }
    }
Пример #4
0
    public override void OnUpdate(ref AiParam _param)
    {
        if (_param == null)
            return;

        IncreasingIK (ref _param);

        _param.Weight += Time.deltaTime * 0.5F;
        _param.Weight = Mathf.Clamp (_param.Weight, 0F, 1F);

        _param.Vec3Target = Vector3.Lerp (_param.Vec3Start, _param.Vec3End, _param.Weight);

        if(SearchForEnemy(ref _param, VISIBLED_RANGE) == true)
        {
            _param.OnAiStrategyChanged(AiFactory.AiStrategyType.Fight);
        }
        else if(1F <= _param.Weight)
        {
            _param.OnAiEmotionChanged(UnityChan_Ctrl.EmotionState.Default);
            _param.OnAiStrategyChanged(AiFactory.AiStrategyType.Patrol);
        }
    }
Пример #5
0
    public override void OnUpdate(ref AiParam _param)
    {
        if (_param == null)
            return;

        _param.Weight += Time.deltaTime * 0.5F;
        _param.Weight = Mathf.Clamp (_param.Weight, 0F, 1F);

        DecreasingIK (ref _param);

        if(IsArrival(ref _param) == true)
        {
            SearchReloadPoint (ref _param);
        }
        else if(1F <= _param.Weight)
        {
            _param.HoldBall = true;
            _param.OnAiStrategyChanged(AiFactory.AiStrategyType.Fight);
        }
    }
Пример #6
0
    public override void OnUpdate(ref AiParam _param)
    {
        if (_param == null || _param.NavAgent == null)
            return;

        if ( _param.ObjTarget == null)
        {
            _param.OnAiStrategyChanged(AiFactory.AiStrategyType.Idle);
        }
        else
        {
            IncreasingIK (ref _param);

            if(IsCatchable(ref _param) == true)
            {
                GameObject.Destroy(_param.ObjTarget);
                _param.ObjTarget = null;
                _param.HoldBall = true;
                _param.OnAiStrategyChanged(AiFactory.AiStrategyType.GoBack);
            }
            else if(IsArrival(ref _param) == true) _param.NavAgent.SetDestination (_param.ObjTarget.transform.position);
        }
    }
Пример #7
0
    void DoThrowBall(ref AiParam _param)
    {
        if (_param == null)
            return;

        if (Input.GetMouseButtonUp (0) == false)
            return;

        if (mSnowBall != null)
        {
            mSnowBall.transform.Translate(Camera.main.transform.forward * 1F, Space.World);
            _param.ObjTarget = mSnowBall;

            Rigidbody rigidbody = mSnowBall.GetComponent<Rigidbody>();
            if (rigidbody != null) rigidbody.AddForce(Camera.main.transform.forward * 1F + Camera.main.transform.up, ForceMode.Impulse);

            mSnowBall = null;
        }

        _param.OnAiStrategyChanged(AiFactory.AiStrategyType.DemoIK);
    }