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); } }
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); } }