Program/Unity 2024. 1. 23. 18:15

코루틴 사용 기본 초기화

 

public void Start()
{
    StartCoroutine(CoroutineInit());
}

 

public IEnumerator CoroutineInit()
{

        //Firebase 기본.

        var task = FirebaseApp.CheckAndFixDependenciesAsync();

        yield return new WaitUntil(() => task.IsCompleted);

        if (task.IsFaulted || task.IsCanceled)
        {
            Debug.LogError("Error: " + task.Exception);
        }
        else
        {
            var app = FirebaseApp.DefaultInstance;

 

            if (app != null)
            {

                  //FireStore Database
                 dbRefFbStore = FirebaseFirestore.DefaultInstance;


                 //RealTime Database
                 //dbRefRealTime = FirebaseDatabase.GetInstance(url).RootReference;

                 //FireBase Auth
                 authFb = FirebaseAuth.DefaultInstance;

            }
            else
            {
                Debug.LogError("Firebase Init Fail");
            }
        }

}

posted by 헛소리
:
Program/Unity 2023. 8. 18. 11:40

UGUI 를 사용하다보면 Inspector에서 함수 연결시

OnValuChanged (변화하는값)  입력하는 값들이 있다.

 

여기에 기존 버튼에 함수 넣는거처럼 함수를 만들어서 넣게 되면.

 

해당 함수는 static parameter 를 받아 값을 0밖에 받아들이지 못한다.

 

이럴때  Dynamic  으로 등록을 시키면 되는데.

버튼을 등록시킬때 같은이름의 함수가 Dynamic 으로 등록되어있을것이다.  그걸 넣어주면 된다.

넣어주고 나면 값 입력시키는 곳이 사라지고.  변화한 값을 잘 받는다.

 

 

인스펙터 말고 코드에서 등록시키도  잘 동작한다.

 

using UnityEngine;
using TMPro;

public class TestSc : MonoBehaviour
{
    [SerializeField] private TMP_Dropdown dropdown;
    private void Start()
    {
        dropdown.onValueChanged.AddListener(ClickTest);
    }
    public void ClickTest(int changedValue)
    {
        Debug.Log("ClickTest = " + changedValue);
    }
}

 

 

 

가끔 물어보는 사람이 있어서..  적는

posted by 헛소리
:
Program/Unity 2023. 8. 2. 14:22

유니티에서 사용하는 Dictionary 는 Inspector 에서 보이지 않아서 데이터 확인해야 할때 불편하다.

 

그래서 이미 사용하고 있는 Dictionary 데이터들을 간단하게 인스펙터에 표시하기 위해서 만든 클래스

기본 클래스 구성은 위와 같고.

 

 

사용법은 인스펙터에서 보고싶은 클래스의 Dictionary 와 같은 타입을 만든다음. 

넣어주면 끝난다.

위의 클래스에는 임시의 데이터를 Dictionary에 넣어서 테스트했다.

UNITY_EDITOR로 묶은 이유는 인스펙터에서 보려고 만든거라.  에디터에서만 동작하면 되어서 묶어줬다.

 

 

인스펙터에서는 잘 표시 되어서 나온다

 

 

- 오랫만에 게시물을 올리면서  예전 게시물들을 찾아봤는데. 너무 옛날에 올린것들이라. 안 맞는게 많은거 같다...

posted by 헛소리
: