코드 1

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.UI;


public class UpgradeManager : MonoBehaviour

{

    [SerializeField] Image icon;

    

    public Sprite earth;

    public Sprite beam;

    public Sprite beamsword;

    public Sprite sun;

    public Sprite explosion;

  

    public Text leveltext;

    public UpgradeDate upgradeDate1;


    Text EarthText;

    Text BeamText;

    Text ExplosionText;

    Text BeamSwordText;

    Text SunText;


    public Text changeText1;

    public Text changeText2;

    public Text changeText3;


    public void Set(UpgradeDate upgradeDate)

    {

        upgradeDate1 = upgradeDate;

        if (upgradeDate1.icon == earth)

        {

         

            leveltext.text = "Lv" + GameObject.Find("GameManager").GetComponent<levelSystem>().earthlevel.ToString();

        }

        if (upgradeDate1.icon == beam)

        {

            

            leveltext.text = "Lv" + GameObject.Find("GameManager").GetComponent<levelSystem>().beamlevel.ToString();

        }

        if (upgradeDate1.icon == beamsword)

        {

            

            leveltext.text = "Lv" + GameObject.Find("GameManager").GetComponent<levelSystem>().beamswordlevel.ToString();

        }

        if (upgradeDate1.icon == sun)

        {

            leveltext.text = "Lv" + GameObject.Find("GameManager").GetComponent<levelSystem>().sunlevel.ToString();

        }

        if (upgradeDate1.icon == explosion)

        {

        

            leveltext.text = "Lv" + GameObject.Find("GameManager").GetComponent<levelSystem>().explosionlevel.ToString();

        }


        icon.sprite = upgradeDate.icon;

    }    


    internal void Clean()

    {

        icon.sprite = null;

    }

   

    public void click(int pressedButton)

    {

        


        if (upgradeDate1.icon == earth)

        {

            GameObject.Find("GameManager").GetComponent<levelSystem>().earthlevel += 1;

            leveltext.text = "Lv" + GameObject.Find("GameManager").GetComponent<levelSystem>().earthlevel.ToString();

            GameObject.Find("GameManager").GetComponent<levelSystem>().earth();

            EarthText = GameObject.Find("GameManager").GetComponent<levelSystem>().changeText;

        }

        if (upgradeDate1.icon == beam)

        {

            GameObject.Find("GameManager").GetComponent<levelSystem>().beamlevel += 1;

            leveltext.text = "Lv" + GameObject.Find("GameManager").GetComponent<levelSystem>().beamlevel.ToString();

            GameObject.Find("GameManager").GetComponent<levelSystem>().beam();

            BeamText = GameObject.Find("GameManager").GetComponent<levelSystem>().changeText;

        }

        if (upgradeDate1.icon == beamsword)

        {

            GameObject.Find("GameManager").GetComponent<levelSystem>().beamswordlevel += 1;

            leveltext.text = "Lv" + GameObject.Find("GameManager").GetComponent<levelSystem>().beamswordlevel.ToString();

            GameObject.Find("GameManager").GetComponent<levelSystem>().beamsword();

            BeamSwordText = GameObject.Find("GameManager").GetComponent<levelSystem>().changeText;

        }

        if (upgradeDate1.icon == sun)

        {

            GameObject.Find("GameManager").GetComponent<levelSystem>().sunlevel += 1;

            leveltext.text = "Lv" + GameObject.Find("GameManager").GetComponent<levelSystem>().sunlevel.ToString();

            GameObject.Find("GameManager").GetComponent<levelSystem>().sun();

            SunText= GameObject.Find("GameManager").GetComponent<levelSystem>().changeText;

        }

        if (upgradeDate1.icon == explosion)

        {

            GameObject.Find("GameManager").GetComponent<levelSystem>().explosionlevel += 1;

            leveltext.text = "Lv" + GameObject.Find("GameManager").GetComponent<levelSystem>().explosionlevel.ToString();

            GameObject.Find("GameManager").GetComponent<levelSystem>().explosion();

            ExplosionText = GameObject.Find("GameManager").GetComponent<levelSystem>().changeText;

        }

        if (pressedButton == 0)

        {

            if (upgradeDate1.icon == earth)

            {

                changeText1.text = EarthText.text;

            }

            if (upgradeDate1.icon == beam)

            {

                changeText1.text = BeamText.text;

            }

            if (upgradeDate1.icon == beamsword)

            {

                changeText1.text = BeamSwordText.text;

            }

            if (upgradeDate1.icon == sun)

            {

                changeText1.text = SunText.text;

            }

            if (upgradeDate1.icon == explosion)

            {

                changeText1.text = ExplosionText.text;

            }

        }

        else if (pressedButton == 1)

        {

            if (upgradeDate1.icon == earth)

            {

                changeText2.text = EarthText.text;

            }

            if (upgradeDate1.icon == beam)

            {

                changeText2.text = BeamText.text;

            }

            if (upgradeDate1.icon == beamsword)

            {

                changeText2.text = BeamSwordText.text;

            }

            if (upgradeDate1.icon == sun)

            {

                changeText2.text = SunText.text;

            }

            if (upgradeDate1.icon == explosion)

            {

                changeText2.text = ExplosionText.text;

            }

        }

        else if (pressedButton == 2)

        {

            if (upgradeDate1.icon == earth)

            {

                changeText3.text = EarthText.text;

            }

            if (upgradeDate1.icon == beam)

            {

                changeText3.text = BeamText.text;

            }

            if (upgradeDate1.icon == beamsword)

            {

                changeText3.text = BeamSwordText.text;

            }

            if (upgradeDate1.icon == sun)

            {

                changeText3.text = SunText.text;

            }

            if (upgradeDate1.icon == explosion)

            {

                changeText3.text = ExplosionText.text;

            }

        }

        

    }

}

코드2

using System;

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.UI;


public class levelSystem : MonoBehaviour

{

    public int earthlevel;

    public int explosionlevel;

    public int sunlevel;

    public int beamlevel;

    public int beamswordlevel;


    public Text changeText;


    public void earth()

    {

        switch (earthlevel) 

        {

            case 1: 

                changeText.text = "투사체 1 증가1";

                break;

            case 2: 

                changeText.text = "데미지 3 증가2";

                break;

            case 3: 

                changeText.text = "크기 20% 증가3";

                break;

            case 4:

                changeText.text = "투사체 1 증가4";

                break;

            case 5:

                changeText.text = "데미지 3 증가5";

                break;

            case 6:

                changeText.text = "크기 20% 증가6";

                break;

            default:

                changeText.text = "전직";

                break;

        }

        

    }


    


    public void sun()

    {

        switch (sunlevel)

        {

            case 1:

                changeText.text = "투사체 1 증가1";

                break;

            case 2:

                changeText.text = "데미지 3 증가2";

                break;

            case 3:

                changeText.text = "크기 20% 증가3";

                break;

            case 4:

                changeText.text = "투사체 1 증가4";

                break;

            case 5:

                changeText.text = "데미지 3 증가5";

                break;

            case 6:

                changeText.text = "크기 20% 증가6";

                break;

            default:

                changeText.text = "전직";

                break;

        }

      

    }


    public void explosion()

    {

        switch (explosionlevel)

        {

            case 1:

                changeText.text = "투사체 1 증가1";

                break;

            case 2:

                changeText.text = "데미지 3 증가2";

                break;

            case 3:

                changeText.text = "크기 20% 증가3";

                break;

            case 4:

                changeText.text = "투사체 1 증가4";

                break;

            case 5:

                changeText.text = "데미지 3 증가5";

                break;

            case 6:

                changeText.text = "크기 20% 증가6";

                break;

            default:

                changeText.text = "전직";

                break;

        }

        

    }


    public void beamsword()

    {

        switch (beamswordlevel)

        {

            case 1:

                changeText.text = "투사체 1 증가1";

                break;

            case 2:

                changeText.text = "데미지 3 증가2";

                break;

            case 3:

                changeText.text = "크기 20% 증가3";

                break;

            case 4:

                changeText.text = "투사체 1 증가4";

                break;

            case 5:

                changeText.text = "데미지 3 증가5";

                break;

            case 6:

                changeText.text = "크기 20% 증가6";

                break;

            default:

                changeText.text = "전직";

                break;

        }

      

    }


    public void beam()

    {

        switch (beamlevel)

        {

            case 1:

                changeText.text = "투사체 1 증가1";

                break;

            case 2:

                changeText.text = "데미지 3 증가2";

                break;

            case 3:

                changeText.text = "크기 20% 증가3";

                break;

            case 4:

                changeText.text = "투사체 1 증가4";

                break;

            case 5:

                changeText.text = "데미지 3 증가5";

                break;

            case 6:

                changeText.text = "크기 20% 증가6";

                break;

            default:

                changeText.text = "전직";

                break;

        }

        

    }

}

이거 실행 하면 되긴 되는데 text가 이미지랑 레벨이랑 다르게 출력됨.

예를 들어보자면 

내가 Earth를 선택하면 

다음 UI에 2번쨰 버튼에 해당하는 Earth의 text가 바뀌게 해야됨.

근데 결과는 1번쨰 버튼에 해당하는 text로 바뀌게 됨.

이유가 뭘까.. 해결 법좀 ㅠㅠ

을 고르면