13 days 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

Недавно придумал такой мем

Поздравляю всех с наступающим или уже наступившим Новым годом!

Тут какая-то малолетка выкатила на меня "разоблачение". Только посмотрите

Всем привет! В связи с тем, что по игре целых !7 МЕСЯЦЕВ! не выходило никаких новостей, решил показать вам анимацию Лунтыша! :)

Как вам?

Игра вышла!

no pain no gain

Смотрите что я смастерил

Я знаю что в игре маленькая графика, он делался по нейроны сетя

Moonzy X: How It Started - Ost Leak

01 - Outer Dark (2:08) By: @Russian_Timer