Unity 게임 개발 최종 팀 프로젝트(11주차 5일)
🔥 12월 6일 금요일 목표 🔥
🔍 팀 프로젝트 스킬이름과 스킬설명을 담아 주는 Panel 오픈시켜주기 (스킬 설명 창)
🔍 팀 프로젝트 스킬 버튼 클릭시 확인 취소 버튼 Open
🔍 팀 프로젝트 확인 취소 버튼 클릭시 버튼 패널 닫고, 작동 할 로직 넣어주기
🔍 팀 프로젝트 게임해보기
📌5가지 스킬의 각 UI 위에 마우스를 올렸을때, 스킬이름과 스킬설명을 담아 주는 Panel 오픈시켜주기
위처럼 처음에 설정했는데...문제는 UIPlayalbeUnitPanel에는 정말 많은 정보를 담고 있는데,
그 정보를 담고 있는 패널의 범위도 넓어서 그 근처에 가기만 해도 스킬정보창이 뜨게 됨.
각각의 오브젝트를 담아 주고, 그 오브젝트에 닿았을 경우에만을 원하면,
리더님이 만들어둔 것을 쓰면 된다고 하셨는데 일단 나는 Skill마다 정보도 필요하기에...
각각의 오브젝트에 스킬정보를 담아 주기로 하며, 스크립트를 생성해서 붙여보려한다.
👀 UISkill Script 스킬 슬롯마다 붙여줌
마우스가 올라갔을때, 행동종료 패널 닫기 & 스킬정보를 띄워주는 패널 오픈
스킬정보에 스킬 Index별 정보 세팅해주기
👀UIPlayableUnitPanel Script 내에서 SetUnitInfo 에 스킬 정보 담아주기!
[SerializeField] private List<UISkill> uiSkillsList = new();
public void SetUnitInfo(Unit selectedUnit)
{
UnitInstance instance = selectedUnit.data;
UnitInfo unitInfo = instance.UnitBase;
List<int> unitSkillInfoList = unitInfo.Skill;
List<SkillInfo> skillInfoList = new();
foreach (int skillKey in unitSkillInfoList) //유닛스킬 리스트에 스킬키 담아주기
{
SkillInfo skillInfo = Core.DataManager.SkillTable.GetByKey(skillKey);
skillInfoList.Add(skillInfo);
}
for (int i = 0; i < uiSkillsList.Count; i++)
{
uiSkillsList[i].skillIndex = i;
uiSkillsList[i].skillSlot.sprite = Resources.Load<Sprite>(skillInfoList[i].Path);
uiSkillsList[i].skillName = skillInfoList[i].Name;
//uiSkillsList[i].skillLevel = skillInfoList[i].Level;
uiSkillsList[i].skillDescription = skillInfoList[i].Description;
}
}
📌 스킬 버튼 클릭시 확인 취소 버튼 Open
스킬 인덱스별 작동할 에니메이션과 같은 로직 끼워넣기
📌 확인 취소 버튼 클릭시 버튼 패널 닫고, 작동 할 로직 구현
미리 패널 열고 닫는 구조를 잡고, 팀원이 만들어 놓은 메서드만 끼워 넣기!
🔥 12월 9일 월요일 목표 🔥
🔍 팀 프로젝트 스킬이름과 스킬설명을 담아 주는 Panel 오픈시켜주기 (스킬 설명 창)
🔍 팀 프로젝트 스킬 버튼 클릭시 확인 취소 버튼 Open