Unity 내배캠 TIL

Unity 게임 개발 최종 팀 프로젝트(11주차 5일)

오늘도즐겨 2024. 12. 6. 21:56

🔥 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