Пример #1
0
 /// <summary>
 ///  创建掉落道具实例
 /// </summary>
 public void CreateItemCptDrop(ItemsBean itemData, Vector3 position, ItemDropStateEnum ItemCptDropState, Vector3 dropDirection)
 {
     if (itemData.itemId == 0)
     {
         return;
     }
     manager.GetItemsObjById(-1, (objModel) =>
     {
         GameObject objCommon    = Instantiate(gameObject, objModel);
         ItemCptDrop ItemCptDrop = objCommon.GetComponent <ItemCptDrop>();
         ItemCptDrop.SetData(itemData, position, dropDirection);
         ItemCptDrop.SetItemDropState(ItemCptDropState);
     });
 }
Пример #2
0
 /// <summary>
 /// 处理-检测周围掉落道具
 /// </summary>
 public void HandleForCheckItemCptDrop()
 {
     Collider[] colliderArray = RayUtil.RayToSphere(player.transform.position, rangePickUp, 1 << LayerInfo.Items);
     if (!colliderArray.IsNull())
     {
         for (int i = 0; i < colliderArray.Length; i++)
         {
             Collider    itemCollider = colliderArray[i];
             ItemCptDrop ItemCptDrop  = itemCollider.GetComponent <ItemCptDrop>();
             //如果是丢掉的道具,并且拾取状态为可拾取
             if (ItemCptDrop != null &&
                 ItemCptDrop.GetItemCptDropState() == ItemDropStateEnum.DropPick)
             {
                 ItemCptDrop.PickItem(player.transform, speedPickUp);
             }
         }
     }
 }