Esempio n. 1
0
        // Pickup Activity
        private static void PickupActivity()
        {
            if (inputUse)
            {
                if (checkPickup)
                {
                    tmpPickup.PickupItem();
                }

                inputUse = false;
                ResetPickup();
            }
            else
            {
                if (hitCollider != prevHitCollider || tmpPickup == null)
                {
                    tmpPickup = hitCollider.GetComponent <IPickup>();
                    HudElements.Crosshair.SetColor(ECrosshairColor.Normal);
                }

                if (!checkPickup)
                {
                    return;
                }

                switch (tmpPickup.PickupType)
                {
                case EPickupType.Melee:
                case EPickupType.Firearms:
                case EPickupType.Thrown:
                    if (WeaponsManager.WeaponIsAvailable(tmpPickup.WeaponIndex))
                    {
                        if ((tmpPickup.PickupType != EPickupType.Melee) && (tmpPickup.Amount > 0) && !AmmoBackpack.IsFull(tmpPickup.AmmoIndex))
                        {
                            crosshairMode = ECrosshairMode.Ammo;
                        }
                        else
                        {
                            crosshairMode = ECrosshairMode.Cancel;
                        }
                    }
                    else if (WeaponsManager.WeaponTypeIsStandart(tmpPickup.WeaponIndex) && WeaponsManager.crowded)
                    {
                        crosshairMode = ECrosshairMode.Swap;
                    }
                    else
                    {
                        crosshairMode = ECrosshairMode.Hand;
                    }
                    break;

                case EPickupType.Ammo:
                    if (AmmoBackpack.IsFull(tmpPickup.AmmoIndex))
                    {
                        crosshairMode = ECrosshairMode.Cancel;
                    }
                    else
                    {
                        crosshairMode = ECrosshairMode.Ammo;
                    }
                    break;

                case EPickupType.Health:
                    if (PlayerCharacter.Instance.isFull)
                    {
                        crosshairMode = ECrosshairMode.Cancel;
                    }
                    else
                    {
                        crosshairMode = ECrosshairMode.Health;
                    }
                    break;

                default:
                    crosshairMode = ECrosshairMode.Hand;
                    break;
                }

                //crosshairMode
                HudElements.Crosshair.SetPointSprite(crosshairMode);
            }
        }