Unity 게임 개발 입문(18)
-
Unity / 최종프로젝트 / NPC Spawn / 의뢰 프로그레스바
작업내용 및 추후 해야 할 내용 1. NPC Spawn Method 변경 : NPC 프리팹을 생성/삭제하는 것이 아니라 씬에 존재하는 NPC 오브젝트에 NPC와 무기 SO 정보를 할당시키는 방식으로 수정 -> 같은 NPC가 생성되는 경우 통제 필요 (다른 오브젝트에 같은 SO가 중복 할당되어, 의뢰 수락 시 이미 수락된 의뢰라고 떠버림) 2. Order Slider 추가 의뢰 수락에 따라 무기 제작 진행, 완료되면 인벤토리에 추가 -> 무기 제작과 연동 필요 3. 추후 해야 할 내용 NPC의 밸류/티어에 따라 게임 진행정도/레벨에 따른 출현하는 NPC 통제 필요 1. NPC Spawn Method 변경 기존 스폰 방식 : 프리팹으로 존재하는 NPC를 생성 / 삭제하는 방식. 문제점 : 프리팹이다보니 UI..
2023.11.06 -
Unity / 최종프로젝트 / 인벤토리
ItemSO들의 ItemType - Weapon을 통해 Inventory의 Weapon만을 가져오는 WeaponInventory 구현 using System.Collections; using System.Collections.Generic; using System.Linq; using UnityEngine; using UnityEngine.UI; using static UnityEditor.Progress; public class WeaponInventory : MonoBehaviour { [System.Serializable] public class WeaponInventoryItem { public int itemID; public int stack; public WeaponInventoryItem(..
2023.11.06 -
Unity / 최종프로젝트 일지 / NPC 의뢰시스템 / 무기 전용 Inventory 구현
1. NPC 의뢰시스템 NPC의 의뢰를 한번 수락했으면 추가로 수락하지 못하도록 NPC SO에 체크를 넣고, 의뢰 수락 기능에 bool값을 넣어주었다. using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class AcceptOrderBtn : MonoBehaviour { public Button acceptButton; public List orderButtons; public NPCOrderClick npcOrderButton; public OrderUI orderUI; void Start() { } public void OnClickAcceptOrderButt..
2023.11.01 -
Unity / UI 이미지 변경
금일 작업 내용 1. NPC 의뢰 수락 2. 스크립트 정리 1. NPC 의뢰 수락 ObjectPooling으로 생성시킨 프리팹에 Sword, Axe, Shield, Bow 값을 배정한다. 값을 배정받은 NPC 0~4는 화면의 지정된 좌표에 순서대로 등장한다. NPC를 클릭하면 무기 제작 의뢰를 수락할 것인지에 대한 PopUP UI가 발동한다. 해당 PopUP UI의 자식 이미지는 NPC가 가지고 있던 값의 이미지 스프라이트를 가져온다. AcceptOrder : 의뢰를 수락해, 무기 제작으로 넘어간다. CompleteOrder : 무기 제작이 완료되면 CompleteOrder를 클릭해 인벤토리를 열고, 무기를 전달한다. RejectOrder : 의뢰를 거절한다. 추가로 작업해야 할 내용 AcceptORde..
2023.10.26 -
Unity / ObjectPooling / 게임 시작 후 새로 생성되는 Object에 값 할당하기
1. Object Pooling : 의뢰를 하러 오는 NPC들을 ObjectPooling을 활용해 구현하기로 했다. NPC 0~4까지 5개의 NPC 프리팹을 만들어두었고, 스크립트에서는 Start하면 5가지 좌표 배열에 할당시킨다. (좌표 배열은 한 프리팹이 할당될때마다 해당 좌표는 삭제된다.) 이렇게 5가지 좌표에 NPC 프리팹이 생성되고, 각 NPC들은 배열 "Sword", "Axe", "Bow", "Shield"의 값을 할당받는다. 이에 따라 할당된 값에 따라 NPC의 이미지(Text)가 변경되게 된다. using System.Collections; using System.Collections.Generic; using UnityEngine; using TMPro; public class NPCMa..
2023.10.25 -
Unity / 최종프로젝트 / NPC Spawn
금일 작업내용 1. 대장간에 장비를 의뢰할 NPC의 등장 2. NPC의 스탯 3. NPC의 의뢰 4. 플레이어가 제작할 / NPC에게 장비시킬 아이템 및 인벤토리 1. NPC 매니저 설정 using System.Collections; using System.Collections.Generic; using UnityEngine; public class NPCManager : MonoBehaviour { public List npcDataList; // npc 배열 public float spawnRadius; // NPC가 생성될 반경 (전체적인 ui 상 제작 의뢰 받는 위치값을 지정) private float timer; // NPC의 의뢰 시간 private void Update() { timer +=..
2023.10.24