유니티 싱글톤 베이스
·
Unity
유니티에서 프로젝트를 진행할 때, 싱글톤 패턴을 자주 사용해야할 것 같을 때, 제네릭 클래스로 싱클톤베이스를 작성 후 만들어두면 같은 코드의 반복을 최소화 할 수 있습니다. 위처럼 싱글톤 베이스 스크립트 작성 이후에 싱글톤이 적용되어야하는 스크립트(매니저급)에 해당 베이스를 상속 받으면 됩니다. 하이어라키에 씬 매니저 하나만 올려두고, 씬매니저의 스크립트를 통해 싱글톤 베이스에서 작성해둔 Init 함수를 호출해서 씬에서 배치할 순서대로 매니저 스크립트를 동적생성하여 관리할 수도 있습니다. 매니저급 스크립트들은 접근에 용이하기 위해 왠만하면 싱글톤 패턴을 사용하는 경우가 많기 때문에 싱글톤 베이스를 만들어두면 매니저 오브젝트들의 유지보수 및 관리가 더 편해집니다.
Unity 깃 허브 LFS 오류
·
Unity
깃허브에서 유니티 프로젝트를 푸쉬하는 과정에서 해당 에러가 발생했습니다. 오류가 발생한 이유는 100MB가 넘은 에셋을 그냥 커밋하려고 해서 생긴오류가 아닌가라는 생각이 들어서 https://docs.github.com/ko/repositories/working-with-files/managing-large-files/installing-git-large-file-storage Git 대형 파일 스토리지 설치 - GitHub DocsGit LFS를 사용하려면 Git과 별개인 새 프로그램을 다운로드하여 설치해야 합니다.docs.github.com해당 사이트에서 깃 LFS를 다운 받고, 이후 문제가 발생하는 프로젝트로 가서 깃 베쉬를 시작한 이후에 $ git lfs install 을 입력합니다. 해당 프..
프로그래머스 핸드폰 가리기
·
알고리즘
나의 풀이 using System.Linq; using System.Collections.Generic; public class Solution { public string solution(string phone_number) { string answer = ""; List numbers = new List(); phone_number = new string(phone_number.Reverse().ToArray()); for (int i = 0; i 3) numbers.Add('*'); else numbers.Add(phone_number[i]); } numbers.Reverse(); answer = new string(numbers...
프로그래머 음양 더하기
·
알고리즘
나의 풀이 using System; public class Solution { public int solution(int[] absolutes, bool[] signs) { int answer = 0; for(int i= 0; i< absolutes.Length; i++) { answer = (signs[i]) ? answer += absolutes[i] : answer -= absolutes[i]; } return answer; } } 다른 사람의 풀이 람다식 사용을 좀더 간소화 하는 방법을 알게 되었고, Select 매서드를 통해 구현하는 방법도 있다는 것을 알게되었습니다.
프로그래머스 나누어 떨어지는 숫자 배열
·
알고리즘
나의 풀이 using System.Collections.Generic; public class Solution { public int[] solution(int[] arr, int divisor) { List answer = new List(); for(int i = 0; i
프로그래머스 서울에서 김서방 찾기
·
알고리즘
나의 풀이 public class Solution { public string solution(string[] seoul) { string answer = ""; for(int i = 0; i < seoul.Length; i++) { if(seoul[i] == "Kim") { answer = "김서방은 " + i + "에 있다"; break; } } return answer; } } 다른사람의 풀이 Array.FindIndex 함수를 사용하면 배열에서 쉽게 찾을 수 있다는 사실을 알게 되었습니다.
프로그래머스 콜라츠 추측
·
알고리즘
나의 풀이 public int solution(int num) { int answer = 0; long number = num; if (number != 1) { while (number != 1) { answer++; number = (number % 2 == 0) ? number /= 2 : (number * 3) + 1; if (answer >= 500) { answer = -1; break; } } } else { answer = 0; } return answer; } 이번 문제는 크게 어렵지 않았던 것 같습니다, 단 주의 해야하는 점이, 3을 곱하는 과정에서 int 범위를 넘길 수 있으니 long으로 자료형을 바꿔주는 과정이 필요했습니다. 다른 사람 풀이 for문을 사용해서 i값을 이용하면 모든..
UI manager 관련
·
메모
https://easings.net/ DoTween 애니메이션 커브 그래프 리소시즈 폴더 안에서 프리팹을 불러오는 방법. ->스크립트 이름과 파일이름의 이름을 똑같이 사용하는 것이 좋음. initialize - > MVC 패턴, 필요한 데이터들 받아오는 기능 구현 Refresh -> UI 데이터 갱신관련 기능 Utility 안에 유용한 함수들을 넣어놓기. ShowPopup() -> rn구성하기 제너릭으로 구성해서 리소시스 폴더에서 불러와서 세팅하면, 씬이 수정되지 않는다. DoTween Ui애니메이션을 커스텀해서 사용할 수 있다는 것이 장점 SetEase() UI 움직이기 OnComplete -> 애니메이션 종료 후 특정 기능 실행 리소스매니저, 에셋번들이랑, 어드레서블 이미지는 에셋번들을 통해 불러오는..