У меня проблемы с этим кодом, который я пытаюсь создать.
Моя цель: Сделать так, чтобы у каждой кнопки уровня также был уровень этого уровня, но я пытаясь сделать это из одного скрипта.
Во-первых, вот как я все настроил:
![enter image description here](https://i.stack.imgur.com/0RBLx.png)
Это ряды внутри каждая кнопка и сценарий Rankdictator , который я сделал внутри каждого игрового объекта ранга.
Вот сценарий для Rankdictator :
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Rankdictator : MonoBehaviour
{
int levelnumberrank;
private Image thisimage;
public Sprite rankgold;
public Sprite ranksilver;
public Sprite rankbronze;
public Sprite blank;
private Levellockcheck levellockcheck;
public void Start()
{
levellockcheck = FindObjectOfType<Levellockcheck>();
thisimage = this.GetComponent<Image>();
levelnumberrank = PlayerPrefs.GetInt(("rankoflevel") + (levellockcheck.thisbuttonlevel));
if(levelnumberrank == 3)
{
thisimage.sprite = rankgold;
}
else if(levelnumberrank == 2)
{
thisimage.sprite = ranksilver;
}
else if (levelnumberrank == 1)
{
thisimage.sprite = rankbronze;
}
else if (levelnumberrank == 0)
{
thisimage.sprite = blank;
}
}
}
сейчас вот проблема. Как я уже сказал, ранги не отображаются на каждой кнопке правильно, когда активно несколько кнопок , однако , когда у меня активна только одна кнопка, ранг показывает . Вот пример:
![enter image description here](https://i.stack.imgur.com/cuAb0.png)
Это когда у меня активны обе кнопки. (Уровень 1 должен иметь полный ранг, а уровень 2 должен иметь низкий ранг. Но он ничего не показывает)
Теперь, когда активна только одна кнопка. Он показывает правильно.
![enter image description here](https://i.stack.imgur.com/5XUXw.png)
Edit
Я уже использовал Debug.Log для подтверждения уровня номера на каждой кнопке, и он ссылается, как и ожидалось ,
Но он по-прежнему не ссылается на ранг каждой кнопки, когда все они активны, а только когда одна кнопка активна, а остальные неактивны.