public override bool IsTrue(BtWorkingData workData) { AIEntityWorkingData this_data = workData.As <AIEntityWorkingData>(); Vector3 target_pos = MathHelper.Vector3ZeroY(this_data.EntityAi.GetBbValue <Vector3>(BtEntityAi.BBKEY_NEXTMOVINGPOSITION, Vector3.zero)); Vector3 current_pos = MathHelper.Vector3ZeroY(this_data.EntityAi.BaseEntity.EntityController.WroldPosition); bool result = TMathUtils.GetDistance2D(target_pos, current_pos) < 1f; return(result); }
protected override int OnExecute(BtWorkingData workData) { AIEntityWorkingData thisData = workData.As <AIEntityWorkingData>(); if (_userData._attackingTime > 0) { _userData._attackingTime -= thisData.DeltaTime; if (_userData._attackingTime < 0) { LogManager.Log("播放攻击动画OnExecute,[{0}]", TimeModule.RealtimeSinceStartup); } } return(BtRunningStatus.EXECUTING); }