1 year ago

Само изящество


		
			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();
    }
}
		
	


5 comments

Loading...

Next up

Это же буквально проекция собственной жизни на игру...

С днём рождения, Андрюха и Вероника!

Мемы по "Лунтику X Адским Будням"

Тест эффекта шагов

А вы тоже идёте рэйджбайтить после того, как вас трахнул отчим?

Inverted Castle

Castlevania Symphony Of The Night fanart

Спасибо, Войд!

Запомните этот мем.

Заметили что они все любят этот фон?