본문 바로가기
PROGRAMING📚/Unity📑

[유니티 Unity] 리스트안의 bool의 갯수, 체크 하기

Ta이니 2022. 7. 20.
728x90
반응형

리스트안의 bool의 갯수, 체크 하기

 


어쩌다가  Update안에서 5개의 bool값 중에 true인 것의 갯수를 받아야하는 난관을 겪게되는데

그 때 사용했던 방법을 작성해볼까 합니다. 

 

문제가 뭐였냐면,,,, 트루가 됬을때 갯수를 +1해주는게

업데이트 안에 들어가닌까

값이 계속 추가되는 것이였는데

내가 원하는 것은 5개의 bool 에서 1개가 트루이면

1개라는 걸 알아야하는 문제였습니다.

 

 

다음과 같이 4개의 버튼을 주고

버튼을 눌리면 true로 변하고 다시 누르면 fasle로 변하는 버튼 함수를 

넣어주고 업데이트에서 계속 bool이 true인 갯수를 확인 할 수 있도록 현재bool의 갯수 텍스트를 넣어줬습니다.

 

bool +=1이렇게 하면 계속 true가 되면 계속 bool의 합계가 올라가겠지만

 

 int Temp_finger = boolList.Count(c => c);

를 사용하여 갯수만 확인 할 수있는 코드를 작성하였습니다.

 

코드는 다음과 같음

 

using System.Linq; //선언
using UnityEngine.EventSystems;
using UnityEngine;
using UnityEngine.UI;

public class testBoolCount : MonoBehaviour
{
    public Text[] TextBool; 
    public bool[] boolList;
    public Text total;

    private void Update()
    {
        int Temp_finger = boolList.Count(c => c);
        total.text = Temp_finger.ToString();
        Debug.Log(Temp_finger);
    }

    public void OnClick_ChangeBool()
    {
        string ButtonName = EventSystem.current.currentSelectedGameObject.name;
        int number = int.Parse(ButtonName)-1;
            if (boolList[number])
            {
                TextBool[number].text = "false"; boolList[number] = false;
            }
            else if (!boolList[number])
            {
                TextBool[number].text = "true"; boolList[number] = true;
            }
    }
}

 

작성해서 넣어주고 실험 시작!

 

이미지와 같이 아주 bool의 갯수를 잘받고있는 것을 확인 할 수 있습니다☺

728x90
반응형

댓글