stat 4

[Unity] 클리키 게임 팀 프로젝트 중, 스탯 생성 (enum 사용전)

클리키 게임 중 내 역할은 플레이어 능력치 및 업그레이드였고 필수적으로 데이터 테이블을 ScriptableObject를 이용하여 수치 증가량 테이블을 만들고 업그레이드에 따른 능력치를 산출해야 했다.일단 내가 만들어야할 능력치는 치명타, 자동공격, 골드획득량 추가이다.치명타 데미지(공격력 및 확률), 자동공격 로직, 골드획득 로직은 다른분들이 맡아주셨으나 내쪽에서 능력치를 보내주면 그 능력치만큼 기능이 작동될 수 있게 수치를 잘 맞춰야 했다. [CreateAssetMenu(fileName = "PlayerStat", menuName = "Scriptable Object Asset/PlayerStat")] public class PlayerStat : ScriptableObject { Player ..

Unity/Unity Study 2025.04.07

[Unity] 3D Surviver 팀 프로젝트 중, 상태(Stat) UI

UI 담당은 아니었으나 적용되는 원리에 대해 공부도 할겸 Stat 손대는김에 같이 작성했었다.중간에 이상한곳에 적용하기도 했고 쌩뚱맞게 다른방법도 시도해보고 했었는데 정신없는 나머지 어떤식으로 했었는지 기록하지는 못했다......(ノへ ̄、) using UnityEngine;using UnityEngine.UI;public class ConditionUI : MonoBehaviour{ public PlayerCondition playerCondition; public Image _Health; public Image _Hunger; public Image _Stamina; public Image _Moisture; public string conditionType; p..

Unity/Unity Study 2025.03.20

[Unity] 3D Surviver 팀 프로젝트 중, 트러블슈팅 : 달리기 및 스탯변화

플레이어의 체력(Health), 배고픔(Hunger), 스태미나(Stamina)는 다음과 같은 구조를 가진다.배고픔은 시간이 지나면서 지속적으로 감소하며, 0이되면 체력이 서서히 감소한다.스태미나는 특정 행동을 할 때 감소하며, 0이되면 특정 행동을 할수없게 된다.스태미나는 소모되지 않는 행동을 할 경우 서서히 회복된다.배고픔의 경우 꾸준히 음식을 먹어줘야 하며 모든 스탯은 아이템을 통하여 즉시 회복이 가능하다. 이러한 구조를 위해 지금껏 스탯을 계속 나눠주었던거고 PlayerCondition에서 해당 코드를 작성해주었다.public class PlayerCondition : StatManager{ public void Update() { curHunger = Mathf.M..

Unity/Unity Study 2025.03.18

[Unity] 3D Surviver 팀 프로젝트 중, 스탯 부분 리팩토링

처음에는 플레이어 전용 스탯 관리를 위해 PlayerCondition을 만들고, 여러 스탯 계산을 편리하게 하기 위해 Condition 클래스를 추가하여 메서드를 만들어 사용했었으...나 이런 방식은 코드가 지저분하고 PlayerController에서 스태미나 감소 등을 처리하는 과정도 있고 여러곳에서 이상하게 사용되는 느낌이 들어, 결국 Condition 클래스를 제거하고 모든 스탯 관리 기능을 PlayerCondition에 통합하기로 결정했다. Condition에는 Add(추가), Subtract(감소) 등의 함수가 있었으며 이것을 PlayerCondition에서 간단하게 사용했지만 단순한 추가, 감소정도는 코드가 길지 않기에 변경해주었다.public class Condition : MonoBehav..

Unity/Unity Study 2025.03.18