오늘 TIL은 간략히 정리해보고 새로 배운 내용을 바탕으로 먼저 구현해보러 가본다.
오늘 한 실수 : 쓰임을 마치고 비활성화 된 오브젝트를 다시 풀로 회수하고 싶어 Instatiate로 복제된 프리팹의 이름을 가져와 다시 딕셔너리의 큐에 넣어주는 코드를 작성하던 중 Replace 를 사용해도 제대로 (Clone) 이 지워지지 않는 것을 봐서
왜 그러지 했는데 다시 이름안에 넣어주어야 한다는 것을 잊었다. 알고리즘 문제좀 많이 풀어봐야 할것같다.
Resource[] objects = GetComponentsInChildren<Resource>(true); //오브젝트의 하위 게임오브젝트들을 가져옴 true를 쓴 이유는 비활성화 된 오브젝트를 찾기 위해
foreach (Resource obj in objects)
{
if(obj.GetComponent<Resource>().capacity == 0 && !obj.gameObject.activeSelf) //해당 오브젝트의 리소스 컴포넌트 정보를 가져와 체력이 0이고 비활성화 된 것을 찾음
{
obj.GetComponent<Resource>().capacity = 10; //오브젝트의 체력을 원상 복구
string name = obj.name;
name = name.Replace("(Clone)","");//키를 입력하기 위해 복제된 프리팹의 이름을 가져와 clone을 제거
Debug.Log(name);
resourceDictionary[name].Enqueue(obj.gameObject) ; //해당오브젝트의 태그에 맞는 키 값에 입력
}
}
저장 관련으로 다루어보고 싶어서 JSON을 만지작 해보고 있다. 조잡하더라도 일단 구현해보고 다시 리팩토링 해보는 과정을 해볼 예정이다.
'TIL' 카테고리의 다른 글
2024 11 07 TIL (0) | 2024.11.07 |
---|---|
2024 11 06 TIL (1) | 2024.11.06 |
2024 11 04 TIL (0) | 2024.11.04 |
2024 11 01 TIL (0) | 2024.11.01 |
2024 10 31 TIL (0) | 2024.10.31 |