Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }