Icons menu

This commit is contained in:
2025-05-31 18:06:31 -07:00
parent c432ee2b62
commit dc403b3c68
6 changed files with 5500 additions and 1 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 93c5a1ee608d5b04dbdb5348ba79b654
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

234
Assets/Scripts/IconsMenu.cs Normal file
View File

@@ -0,0 +1,234 @@
using TMPro;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class Iconsmenu : MonoBehaviour
{
public GameObject iconsPanel;
public GameObject overlaysPanel;
public Button backButton;
public Sprite defaultIcon;
public Button placeholderButton;
public TMP_Text selectionText;
public Image previewBird;
public Image previewOverlay;
public Button icon1;
public Button icon2;
public Button icon3;
public Button icon4;
public Button icon5;
public Button icon6;
public Button icon7;
public Button icon8;
public Button overlay0;
public Button overlay1;
public Button overlay2;
public Button overlay3;
public Button overlay4;
public Button overlay5;
public Button overlay6;
public Button overlay7;
public Button overlay8;
public Button overlay9;
public GameObject previewBirdObject;
private void Start()
{
SwitchToIcon();
SelectOverlay(PlayerPrefs.GetInt("overlay", Mathf.Clamp(PlayerPrefs.GetInt("overlay", 0), 0, 9)));
SelectIcon(PlayerPrefs.GetInt("icon", Mathf.Clamp(PlayerPrefs.GetInt("icon", 0), 1, 8)));
if (PlayerPrefs.GetInt("icon", 0) == 7)
{
SelectOverlay(0);
placeholderButton.interactable = false;
}
if (PlayerPrefs.GetInt("userID", 0) == 1)
{
defaultIcon = Resources.Load<Sprite>("icons/icons/bird_-1");
}
else if (PlayerPrefs.GetInt("userID", 0) == 2)
{
defaultIcon = Resources.Load<Sprite>("icons/icons/bird_-2");
}
else if (PlayerPrefs.GetInt("userID", 0) == 4)
{
defaultIcon = Resources.Load<Sprite>("icons/icons/bird_-3");
}
else if (PlayerPrefs.GetInt("userID", 0) == 6)
{
defaultIcon = Resources.Load<Sprite>("icons/icons/bird_-4");
}
placeholderButton.onClick.AddListener(ToggleKit);
backButton.onClick.AddListener(delegate
{
PlayerPrefs.SetInt("icon", Mathf.Clamp(PlayerPrefs.GetInt("icon", 0), 1, 8));
PlayerPrefs.SetInt("overlay", Mathf.Clamp(PlayerPrefs.GetInt("overlay", 0), 0, 9));
PlayerPrefs.Save();
SceneManager.LoadScene("MainMenu");
});
icon1.onClick.AddListener(() => SelectIcon(1));
icon2.onClick.AddListener(() => SelectIcon(2));
icon3.onClick.AddListener(() => SelectIcon(3));
icon4.onClick.AddListener(() => SelectIcon(4));
icon5.onClick.AddListener(() => SelectIcon(5));
icon6.onClick.AddListener(() => SelectIcon(6));
icon7.onClick.AddListener(() => SelectIcon(7));
icon8.onClick.AddListener(() => SelectIcon(8));
overlay0.onClick.AddListener(() => SelectOverlay(0));
overlay1.onClick.AddListener(() => SelectOverlay(1));
overlay2.onClick.AddListener(() => SelectOverlay(2));
overlay3.onClick.AddListener(() => SelectOverlay(3));
overlay4.onClick.AddListener(() => SelectOverlay(4));
overlay5.onClick.AddListener(() => SelectOverlay(5));
overlay6.onClick.AddListener(() => SelectOverlay(6));
overlay7.onClick.AddListener(() => SelectOverlay(7));
overlay8.onClick.AddListener(() => SelectOverlay(8));
overlay9.onClick.AddListener(() => SelectOverlay(9));
}
private void Update()
{
if (!Application.isMobilePlatform)
{
if (Input.GetMouseButtonDown(0))
{
Vector2 screenPoint = Input.mousePosition;
if (RectTransformUtility.RectangleContainsScreenPoint(previewBirdObject.GetComponent<RectTransform>(), screenPoint))
{
float x = previewBirdObject.transform.localScale.x;
previewBirdObject.transform.localScale = new Vector3((x != 1f) ? 1 : (-1), 1f, 1f);
}
}
}
else if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Began)
{
Vector2 position = Input.GetTouch(0).position;
if (RectTransformUtility.RectangleContainsScreenPoint(previewBirdObject.GetComponent<RectTransform>(), position))
{
float x2 = previewBirdObject.transform.localScale.x;
previewBirdObject.transform.localScale = new Vector3((x2 != 1f) ? 1 : (-1), 1f, 1f);
}
}
}
private void SwitchToIcon()
{
iconsPanel.SetActive(value: true);
overlaysPanel.SetActive(value: false);
selectionText.text = "Icon selection";
placeholderButton.GetComponentInChildren<TMP_Text>().text = "Overlays";
}
private void SwitchToOverlay()
{
iconsPanel.SetActive(value: false);
overlaysPanel.SetActive(value: true);
selectionText.text = "Overlay selection";
placeholderButton.GetComponentInChildren<TMP_Text>().text = "Icons";
}
private void ToggleKit()
{
if (GetCurrentKit() == 1)
{
SwitchToOverlay();
}
else if (GetCurrentKit() == 2)
{
SwitchToIcon();
}
}
private int GetCurrentKit()
{
if (iconsPanel.activeSelf)
{
return 1;
}
if (overlaysPanel.activeSelf)
{
return 2;
}
return 0;
}
private void SelectIcon(int iconID)
{
PlayerPrefs.SetInt("icon", iconID);
PlayerPrefs.Save();
icon1.interactable = (iconID != 1);
icon2.interactable = (iconID != 2);
icon3.interactable = (iconID != 3);
icon4.interactable = (iconID != 4);
icon5.interactable = (iconID != 5);
icon6.interactable = (iconID != 6);
icon7.interactable = (iconID != 7);
icon8.interactable = (iconID != 8);
previewBird.sprite = Resources.Load<Sprite>("icons/icons/bird_" + iconID);
if (iconID == 1)
{
if (PlayerPrefs.GetInt("userID", 0) == 1)
{
previewBird.sprite = Resources.Load<Sprite>("icons/icons/bird_-1");
}
else if (PlayerPrefs.GetInt("userID", 0) == 2)
{
previewBird.sprite = Resources.Load<Sprite>("icons/icons/bird_-2");
}
else if (PlayerPrefs.GetInt("userID", 0) == 4)
{
previewBird.sprite = Resources.Load<Sprite>("icons/icons/bird_-3");
}
else if (PlayerPrefs.GetInt("userID", 0) == 6)
{
previewBird.sprite = Resources.Load<Sprite>("icons/icons/bird_-4");
}
}
if (iconID == 7)
{
SelectOverlay(0, false);
placeholderButton.interactable = false;
}
else
{
SelectOverlay(PlayerPrefs.GetInt("pastOverlay", 0), false);
placeholderButton.interactable = true;
}
}
private void SelectOverlay(int overlayID, bool savePast = true)
{
if (savePast)
{
PlayerPrefs.SetInt("pastOverlay", PlayerPrefs.GetInt("overlay", 0));
}
PlayerPrefs.SetInt("overlay", overlayID);
PlayerPrefs.Save();
overlay0.interactable = (overlayID != 0);
overlay1.interactable = (overlayID != 1);
overlay2.interactable = (overlayID != 2);
overlay3.interactable = (overlayID != 3);
overlay4.interactable = (overlayID != 4);
overlay5.interactable = (overlayID != 5);
overlay6.interactable = (overlayID != 6);
overlay7.interactable = (overlayID != 7);
overlay8.interactable = (overlayID != 8);
overlay9.interactable = (overlayID != 9);
previewOverlay.rectTransform.localPosition = new Vector3(-32f, 44.66f, 0f);
previewOverlay.gameObject.SetActive(true);
if (overlayID == 8)
{
previewOverlay.rectTransform.localPosition = new Vector3(-35.36f, 31.6f, 0f);
}
if (overlayID == 0)
{
previewOverlay.gameObject.SetActive(false);
previewOverlay.sprite = null;
}
else
{
previewOverlay.sprite = Resources.Load<Sprite>("icons/overlays/overlay_" + overlayID);
}
}
}

View File

@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 81b945b4d081ffb46aa748002fbc6560

View File

@@ -11,6 +11,9 @@ EditorBuildSettings:
- enabled: 1 - enabled: 1
path: Assets/Scenes/GamePlayer.unity path: Assets/Scenes/GamePlayer.unity
guid: 8d9f90781cae8d24c8560dbca7ed6f42 guid: 8d9f90781cae8d24c8560dbca7ed6f42
- enabled: 1
path: Assets/Scenes/IconsMenu.unity
guid: 93c5a1ee608d5b04dbdb5348ba79b654
- enabled: 1 - enabled: 1
path: Assets/Scenes/SettingsMenu.unity path: Assets/Scenes/SettingsMenu.unity
guid: 82b6fbd13818d174fbcda658514d0cf4 guid: 82b6fbd13818d174fbcda658514d0cf4

View File

@@ -141,7 +141,8 @@ PlayerSettings:
visionOSBundleVersion: 1.0 visionOSBundleVersion: 1.0
tvOSBundleVersion: 1.0 tvOSBundleVersion: 1.0
bundleVersion: 1.34 bundleVersion: 1.34
preloadedAssets: [] preloadedAssets:
- {fileID: -944628639613478452, guid: 2bcd2660ca9b64942af0de543d8d7100, type: 3}
metroInputSource: 0 metroInputSource: 0
wsaTransparentSwapchain: 0 wsaTransparentSwapchain: 0
m_HolographicPauseOnTrackingLoss: 1 m_HolographicPauseOnTrackingLoss: 1