// Reset Pickup private static void ResetPickup() { if (dirtHair) { dirtHair = false; tmpPickup = null; prevHitCollider = null; crosshairMode = ECrosshairMode.Point; HudElements.Crosshair.SetPointSprite(crosshairMode); } }
// 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; } }
// 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); } }