protected virtual void DropWorldItem(ref IShipDockEntitas target)
        {
            int worldItemID = mWorldItem.worldItemID;

            mWorldItemMapper.Remove(worldItemID);

            mGroupsMapper.Remove(mWorldItem.groupID);
            mAroundMapper.Remove(mWorldItem.aroundID);

            List <int> list = BehaviourIDsComp.GetAroundList(ref target);

            list?.Clear();

            BehaviourIDs ids = BehaviourIDsComp.GetEntitasData(ref target);

            ids.willClear = true;
            BehaviourIDsComp.FillEntitasData(ref target, ids);

            mWorldItem.WorldItemDispose?.Invoke();
            mWorldItem.WorldItemDispose = default;
            mWorldItem.isDroped         = true;
        }
        /// <summary>
        /// 检测物体四周目标
        /// </summary>
        private void CheckAround(ref IShipDockEntitas target)
        {
            if (!mBehaviourIdsCompChecked)
            {
                mBehaviourIdsCompChecked = true;
                mHasBehaviourIDs         = BehaviourIDsComp != default;
            }

            if (mHasBehaviourIDs && IsWorldItemValid(ref mWorldItem))
            {
                BehaviourIDs ids      = BehaviourIDsComp.GetEntitasData(ref target);
                int          aroundID = ids.gameItemID;
                if (mAroundMapper.ContainsKey(aroundID))
                {
                    WalkEachAroundItem(ref target, ids);
                }
                else
                {
                    mWorldItem.aroundID     = aroundID;
                    mAroundMapper[aroundID] = mMovement;
                }
            }
        }