Practice_Unity/Assets/Scripts/Contents/Status_Player.cs
SEAN-59 af081c5975 작업
1. 데이터 매니저 변경
- 기존에 Dictionary 방식으로 만 처리가 되게 만들어 리스트 형태의 JSON이 아닌 그냥 단순 심플 형태의 JSON은 값 읽기 위해서는 JSON 자체를 변경했어야 했는데 이러한 문제 변경
2. 플레이어 컨트롤러에서 데이터 읽어서 플레이어 상태 관련 수정
- 플레이어 컨트롤러, 플레이어 데이터, 플레이어 데이터.json 수정

Todo
1. DataManager 이거 동작 원리 확실하게 정리를 해둬야 할거 같음 볼때마다 헷갈리면 만든 의의가 없음
2. 이제 실질적으로 몬스터 AI를 만들기 시작할 것
3. 캐릭터가 공격할때 사용할 방법에 대해서 생각 해 볼 것
2025-09-28 23:40:01 +09:00

90 lines
1.8 KiB
C#

using UnityEngine;
public class Status_Player : Status
{
[SerializeField] private Data_Status_Player _data;
public Data_Status_Player Data
{
get { return _data; }
set
{
if (value != null)
{
_data = value;
Init();
}
}
}
// public override int Level => _data.level;
// public override int Level { get; set; }
public override int MaxHp => _data.maxHp;
public override int MaxMp => _data.maxMp;
public override float Attack => _data.attack;
public override float Defense => _data.defense;
public override float MoveSpeed => _data.moveSpeed;
public override float AtkSpeed => _data.atkSpeed;
protected override void OnValidate()
{
if (_data != null)
{
base.OnValidate(); // 부모의 Init() 호출
}
}
private void Awake()
{
// 게임 시작 시 HP/MP 초기화
// Init();
}
}
/*
[SerializeField]
protected int _exp;
[SerializeField]
protected int _maxExp;
[SerializeField]
protected int _gold;
public int Exp { get { return _exp; } set { _exp = value; } }
public int MaxExp { get { return _maxExp; } set { _maxExp = value; } }
public int Gold { get { return _gold; } set { _gold = value; } }
public void Init(Status_Player data)
{
base.Init(data);
Exp = data.Exp;
MaxExp = data.MaxExp;
Gold = data.Gold;
}
private void Awake()
{
_level = 1;
_hp = 100;
_maxHp = 100;
_mp = 50;
_maxMp = 50;
_attack = 10;
_defense = 5;
_moveSpeed = 3.0f;
_atkSpeed = 1.0f;
_exp = 0;
_maxExp = 100;
_gold = 0;
}
}
*/