コード例 #1
0
 // Reset Pickup
 private static void ResetPickup()
 {
     if (dirtHair)
     {
         dirtHair        = false;
         tmpPickup       = null;
         prevHitCollider = null;
         crosshairMode   = ECrosshairMode.Point;
         HudElements.Crosshair.SetPointSprite(crosshairMode);
     }
 }
コード例 #2
0
            // Set PointSprite
            internal static void SetPointSprite(ECrosshairMode mode)
            {
                if (mode == ECrosshairMode.Point)
                {
                    m_Instance.pointRT.sizeDelta = Vector2.one * 2f;
                    WeaponsManager.UpdateHud(true);
                }
                else if (mode == ECrosshairMode.None)
                {
                    m_Instance.pointRT.sizeDelta = Vector2.zero;
                    WeaponsManager.UpdateHud(true);
                }
                else
                {
                    m_Instance.pointRT.sizeDelta = Vector2.one * 64f;
                    SetActive(ECrosshairView.OnlyPoint);
                }

                switch (mode)
                {
                case ECrosshairMode.None:
                case ECrosshairMode.Point:
                    m_Instance.pointImg.sprite = m_Instance.pointIcon;
                    break;

                case ECrosshairMode.Cancel:
                    m_Instance.pointImg.sprite = m_Instance.cancelIcon;
                    break;

                case ECrosshairMode.Hand:
                    m_Instance.pointImg.sprite = m_Instance.handIcon;
                    break;

                case ECrosshairMode.Swap:
                    m_Instance.pointImg.sprite = m_Instance.swapIcon;
                    break;

                case ECrosshairMode.Ammo:
                    m_Instance.pointImg.sprite = m_Instance.ammoIcon;
                    break;

                case ECrosshairMode.Health:
                    m_Instance.pointImg.sprite = m_Instance.healthIcon;
                    break;

                default:
                    break;
                }
            }
コード例 #3
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);
            }
        }