// Add Ammo public static bool AddAmmo(int index, ref int addАmount) { if ((index < 0) || (index >= size)) { Debug.LogError("AddAmmo ERROR: Array index out of range."); return(false); } int currentAmmo = GetCurrentAmmo(index); int maxAmmo = GetMaxAmmo(index); if (currentAmmo >= maxAmmo) { return(false); } // int missingAmmo = Mathf.Max(0, maxAmmo - currentAmmo); currentAmmo += Mathf.Min(Mathf.Max(0, addАmount), missingAmmo); addАmount = Mathf.Max(0, addАmount -= missingAmmo); SetCurrentAmmo(index, currentAmmo); WeaponsManager.UpdateHud(); return(true); }
// 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; } }
// Switch ProjectileType internal bool SwitchProjectileType() { if (projectiles.Length < 2) { return(false); } projectileIndex++; if (projectileIndex >= projectiles.Length) { projectileIndex = 0; } currentSlot = projectiles[projectileIndex]; WeaponsManager.UpdateHud(); return(true); }
// Switch ShootingMode internal bool SwitchShootingMode() { if (firingModes.Length < 2) { return(false); } firingModeIndex++; if (firingModeIndex >= firingModes.Length) { firingModeIndex = 0; } firingMode = firingModes[firingModeIndex]; WeaponsManager.UpdateHud(); return(true); }