2 months 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

Блин, меня так умиляет тот факт, что Лион реально отвечает при помощи чат-бота и ещё делает вид что это не так, когда его уличают в этом

IQ>200

Пожалуйста, сделайте это мемом

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

Как вам?

Я создал новый стикер-пак для Телеграмма! Вы можете найти его по имени Vlamods_2

Он более ёмкий и в нем меньше бесполезных стикеров

Можете написать оценку, если хотите. Мне было бы интересно узнать ваше мнение

no pain no gain

Поздравляю с прошедшим Днём Победы!

Важно не только не забывать свою историю, но и знать чья это была победа. То была победа советской, социалистической системы и советского человека над европейским фашизмом.

С праздником, товарищи!☭☆

Посмотрел я этих Петю и Волка...

Третий летсплей по игре от @KukiOfficial ! И последний перед небольшим затишьем (подробнее об этом в видео).

https://youtu.be/okdAXuR2xKc

Приятного просмотра!

Боюсь, не поможет