유니티 UI Binding 오류
Unity/Trouble Shooting2024. 1. 3. 20:35유니티 UI Binding 오류

관련 링크 피드백에 따른 UI Manager 리팩토링Unity 개발 주제의 다양한 내용의 개인성장 개발 블로그jhoon8903.github.io해당 블로그에 UI 바인딩 코드를 참고하는 도중 오류가 발생하였다.문제 코드public void Binding(GameObject parent) where T : UnityEngine.Object{ T[] objects = parent.GetComponentsInChildren(true); // 오류 부분 Dictionary objectDict = objects.ToDictionary(comp => comp.name, comp => comp as Object); _objects[typeof(T)] = objectDict; Ass..

3D 퍼즐 [BUILD 2048]
게임 프로젝트2023. 12. 26. 19:553D 퍼즐 [BUILD 2048]

BUILD 2048게임 플레이개발 기간23.12.26 ~ 23.12.29개발 환경Unity 2022.3.2Visual Studio 2022Git (GitHub Desktop)1920 x 1080 FHD담당 기능타일 생성 및 관리URP를 활용한 3D 광원 효과DOTween 애니메이션관련 링크Github 링크 GitHub - psw1305/2048: 유니티로 만든 2048유니티로 만든 2048. Contribute to psw1305/2048 development by creating an account on GitHub.github.com가브리엘레 치룰리의 원작 2048 GitHub - gabrielecirulli/2048: A small clone of 1024 (https://web.archive.or..

게임 프로젝트2023. 12. 22. 20:392D 로그라이크 [1500000000000의 번제]

1500000000000의 번제  개발 기간23.12.15 ~ 23.12.21개발 환경Unity 2022.3.2Visual Studio 2022Git (GitHub Desktop)1920 x 1080 FHD담당 기능게임 매니징전체적인 게임 로직 구성던전 방 랜덤 생성 & 진행 구현적, 아이템, 장애물 통합 작업오디오 시스템 & 사운드 리소스 추가코드 리팩토링 및 버그 수정관련 링크Github 링크 GitHub - psw1305/TeamProject-2DRoguelike: 팀프로젝트 2D 로그라이크팀프로젝트 2D 로그라이크. Contribute to psw1305/TeamProject-2DRoguelike development by creating an account on GitHub.github.com로..

유니티 로그라이크 방 타입에 맞는 오브젝트 생성
Unity/Study2023. 12. 21. 21:08유니티 로그라이크 방 타입에 맞는 오브젝트 생성

로그라이크 방 오브젝트 생성방이 생성될 때 해당 방 타입에 맞는 오브젝트 생성 [아이템, 장애물, 적]기능 구현RoomBlueprint.cs[CreateAssetMenu(fileName = "RoomBlueprint", menuName = "Blueprint/Room")]public class RoomBlueprint : ScriptableObject{ [SerializeField] private Sprite floor; [SerializeField] private bool isReward; [Header("Object Position")] [SerializeField] private Vector2 rewardPosition; [SerializeField] private Lis..

유니티 로그라이크 미니맵 구현
Unity/UI2023. 12. 20. 20:53유니티 로그라이크 미니맵 구현

기능 구현미니맵 구현에 필요한 Fields#region Fields[SerializeField] private Transform miniRoomContainer;private float cellWidth;private float cellHeight;private GameObject miniRoomPrefab;private GameObject[,] miniRoomArray;private Vector2Int currentPlayerCoordinate;private List visitedCoordinates = new List();#endregionminiRoomContainer : 미니맵 셀들이 배치되는 Transform ParentcellWidth : 미니맵 셀의 너비cellHeight : 미니맵 셀의 높..

유니티 로그라이크 다음 방으로 이동
Unity/Study2023. 12. 19. 00:42유니티 로그라이크 다음 방으로 이동

기능 구현MoveToDesignativeRoom/// /// 방에 진입할 시, 좌표 설정 및 문 활성화 체크/// /// 들어간 방향/// 카메라 움직임 딜레이private IEnumerator MoveToDesignativeRoom(Vector2Int MoveDirection){ int x = _currentRoom.Coordinate.x + MoveDirection.y; int y = _currentRoom.Coordinate.y + MoveDirection.x; _currentRoom = _roomArray[x, y]; _currentRoom.OpenActivatedDoor(); Main.Game.Player.transform.position += new Vector3(M..

유니티 로그라이크 문으로 방 연결하기
Unity/Study2023. 12. 18. 17:48유니티 로그라이크 문으로 방 연결하기

📌 연결된 문 생성 📄 Dungeon.cs private void CreateDungeon(){ // 방 생성을 위한 좌표 리스트 List alternativeRoomList = new(); List hasBeenRemoveRoomList = new(); // 특수 방 리스트 List specialRoomList = new(); ... ... ... LinkDoors(); // 방 문이 1개인 경우 => 특수 방으로 추가 foreach (Room room in _roomArray) { if (room != null && room.ActiveDoorCount == 1 && room != currentRoom) {..

유니티 로그라이크 방 생성
Unity/Study2023. 12. 15. 20:50유니티 로그라이크 방 생성

기능 구현GameScene.cspublic class GameScene : MonoBehaviour{ #region Field [SerializeField] private int roomAmount; private Room _roomPrefab; private Room[,] _roomArray = new Room[20, 20]; #endregion #region Init private void Start() { Main.Resource.Initialize(); // #1. 방 생성 _roomPrefab = Main.Resource.GetObject("Room").GetComponent(); CreateLevel(..

유니티 Json 데이터 관리
Unity/Study2023. 12. 12. 21:11유니티 Json 데이터 관리

기능 소개유니티에는 여러 데이터 저장 방식 중, Json으로 데이터를 저장하는 기능을 구현하도록 한다기능 구현DataManager.cspublic class DataManager{ public Dictionary Items = new(); public void Initialize() { Items = LoadJson("ItemData").MakeData(); } private TLoader LoadJson(string path) where TLoader : ILoadData { TextAsset textAsset = Main.Resource.Load(path); return JsonConvert.DeserializeObject(text..

유니티 Stat Modifier
Unity/Study2023. 12. 11. 21:14유니티 Stat Modifier

기능 소개단순 Stat 값을 더하고 빼는게 아닌 Stat Modifier를 통한 관리더티플래그(Dirty Flag) 디자인 패턴 사용기능 구현StatModifierpublic enum StatModType{ Flat, PercentAdd, PercentMult,}public class StatModifier{ public readonly float Value; public readonly StatModType Type; public readonly int Order; public readonly object Source; public StatModifier(float value, StatModType type, int order, object source) ..

image