본문 바로가기

TIL

[TIL]2024-4-18 / 73일차 - 최종 프로젝트 7주차 4일차

새로 추가한 맵

 

1. 오늘의 알고리즘 코드 카타 - 개인정보 수집 유효 기간

 

답안 :

 

//추월은 순위가 한 번에 하나씩만 바뀌기에 한 개의 딕셔너리 내에서 해결 가능
using System;
using System.Collections.Generic;

public class Solution {
       public string[] solution(string[] players, string[] callings) {
        Dictionary<string, int> dict = new Dictionary<string, int>();
        
        for(int i = 0; i < players.Length; i++) { dict.Add(players[i], i); }
        
        foreach(string call in callings)
        {
            int rank = dict[call];
            string overtake = players[rank - 1];
            
            players[rank - 1] = call;
            players[rank] = overtake;
            
            dict[call] = rank - 1;
            dict[overtake] = rank;
        }
        return players;
    }
}

2. 오늘의 기술 면접 - MonoBehaviour 클래스의 주요 메서드와 그 기능에 대해 설명해주세요.

MonoBehaviour 클래스는 유니티 프로젝트의 C# 스크립트의 자동 상속되는 클래스로 이전 질문에서 대답한 것들을 다 사용 가능한데, 유니티 생명주기와 관련된 메소드들을 사용할 수 있습니다.

시작 : Awake / OnEnable / Start

업데이트(피직스) : FixedUpdate / Update / LateUpdate / OnTrigger / OnCollision

삭제 및 종료 : OnDisable / OnDestroy / OnApplicationQuit

또한 해당 클래스를 상속받은 스크립트만이 게임 오브젝트에 컴포넌트로써 부착하여 사용 가능하며

가장 체감되던 기능으로 코루틴을 관리할 수 있기에 해당 기능을 이용할 때에 해당 클래스를 사용하게 됩니다.

 


3. 오늘의 작업

역시나 오늘도 시연용 빌드를 위해 이것저것 많은 수정을 해야했다.

우선 에어의 애니메이션을 적용해야 했는데 이를 위해 추가적인 예외처리가 필요해져서 이 부분을 작업하고 있으며

실제 구현된 구조가 임시로 만들어둔 애니메이션들과 달라짐에 따라 애니메이션을 다시 만들어야 했다.

 

네트워크 동기화를 위해 파티클 이펙트를 애니메이션 트리거를 통해 작동하게 하여 애니메이션 동기화가 빠르기에 작업적으로 편리함을 추구했다.

 

이제는 캐릭터 변경도 캐릭터 변경 애니메이션은 못적용했지만 기능하게 되었다.

 

 

에어의 애니메이션의 경우 대부분 잘 작동하지만 현재 후크와 연동되는 애니메이션은 동기화 문제로 아직 기능이 완전히 다듬어지지 않았다.