using UnityEngine;
using UnityEngine.UI;
public class WeaponPick : MonoBehaviour
{
[SerializeField] private Image[] weaponIcons;
[SerializeField] private Sprite[] weaponSprites;
private const byte weaponCount = 7;
private byte[] weaponSlots = new byte[4];
[SerializeField] private string[] weaponKeys = new string[4];
[SerializeField] private string[] weaponAvailabilityKeysNames;
private void Awake()
{
for (int i = 0; i < 4; i++)
{
weaponSlots[i] = (byte)PlayerPrefs.GetInt(weaponKeys[i], 0);
UpdateWeaponIcon((byte)i);
}
}
public void increment(int slotNumber)
{
for (int i = 0; i < weaponCount; i++)
{
weaponSlots[slotNumber] = (byte)((weaponSlots[slotNumber] + 1) % weaponCount);
if (WeaponAvailabilityCheck((byte)slotNumber))
{
break;
}
}
UpdateWeaponIcon((byte)slotNumber);
SavePick((byte)slotNumber);
}
public void decrement(int slotNumber)
{
for (int i = 0; i < weaponCount; i++)
{
weaponSlots[slotNumber] = (byte)((weaponSlots[slotNumber] - 1 + weaponCount) % weaponCount);
if (WeaponAvailabilityCheck((byte)slotNumber))
{
break;
}
}
UpdateWeaponIcon((byte)slotNumber);
SavePick((byte)slotNumber);
}
private bool WeaponAvailabilityCheck(byte slotNumber)
{
return PlayerPrefs.GetInt(weaponAvailabilityKeysNames[weaponSlots[slotNumber]]) == 1;
}
private void SavePick(byte slotNumber)
{
PlayerPrefs.SetInt(weaponKeys[slotNumber], weaponSlots[slotNumber]);
PlayerPrefs.Save();
}
private void UpdateWeaponIcon(byte slotNumber)
{
weaponIcons[slotNumber].sprite = weaponSprites[weaponSlots[slotNumber]];
weaponIcons[slotNumber].SetNativeSize();
}
}
1 year ago
Само изящество
Next up
Это же буквально проекция собственной жизни на игру...
С днём рождения, Андрюха и Вероника!
Мемы по "Лунтику X Адским Будням"
Тест эффекта шагов
А вы тоже идёте рэйджбайтить после того, как вас трахнул отчим?
Inverted Castle
ㅤ
Castlevania Symphony Of The Night fanart
Спасибо, Войд!
Запомните этот мем.
Заметили что они все любят этот фон?











5 comments