DEG-143-세이브,강화 일부 병합.
This commit is contained in:
parent
bac6ec5f34
commit
bb8a9aea3f
@ -24,6 +24,8 @@ public class PlayerController : CharacterBase, IObserver<GameObject>
|
|||||||
private bool _isBattle;
|
private bool _isBattle;
|
||||||
private GameObject weapon;
|
private GameObject weapon;
|
||||||
private WeaponController _weaponController;
|
private WeaponController _weaponController;
|
||||||
|
private float attackUpgradeLevel;
|
||||||
|
private float moveSpeedUpgradeLevel;
|
||||||
|
|
||||||
private IPlayerState _currentStateClass { get; set; }
|
private IPlayerState _currentStateClass { get; set; }
|
||||||
private IPlayerAction _currentAction;
|
private IPlayerAction _currentAction;
|
||||||
@ -71,6 +73,13 @@ public class PlayerController : CharacterBase, IObserver<GameObject>
|
|||||||
hitEffectController = GetComponentInChildren<PlayerHitEffectController>();
|
hitEffectController = GetComponentInChildren<PlayerHitEffectController>();
|
||||||
|
|
||||||
PlayerInit();
|
PlayerInit();
|
||||||
|
|
||||||
|
//강화 적용
|
||||||
|
attackUpgradeLevel = 1 + (float)UpgradeManager.Instance.upgradeStat.CurrentUpgradeLevel(StatType.AttackPower)/2;
|
||||||
|
moveSpeedUpgradeLevel = 1 + (float)UpgradeManager.Instance.upgradeStat.CurrentUpgradeLevel(StatType.MoveSpeed)/2;
|
||||||
|
|
||||||
|
attackPower *= attackUpgradeLevel;
|
||||||
|
moveSpeed *= moveSpeedUpgradeLevel;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Update()
|
private void Update()
|
||||||
|
@ -64,15 +64,15 @@ public class TestScript : MonoBehaviour,ISaveable
|
|||||||
// heartLevel = save.dungeonSave.heartLevel;
|
// heartLevel = save.dungeonSave.heartLevel;
|
||||||
// moveSpeedLevel = save.dungeonSave.moveSpeedLevel;
|
// moveSpeedLevel = save.dungeonSave.moveSpeedLevel;
|
||||||
// dashCoolDownLevel = save.dungeonSave.dashCoolDownLevel;
|
// dashCoolDownLevel = save.dungeonSave.dashCoolDownLevel;
|
||||||
stageLevel = save.dungeonSave.stageLevel;
|
//stageLevel = save.dungeonSave.stageLevel;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (save?.homeSave != null)
|
if (save?.homeSave != null)
|
||||||
{
|
{
|
||||||
time = save.homeSave.time;
|
//time = save.homeSave.time;
|
||||||
currentDay = save.homeSave.currentDay;
|
//currentDay = save.homeSave.currentDay;
|
||||||
health = save.homeSave.health;
|
//health = save.homeSave.health;
|
||||||
reputation = save.homeSave.reputation;
|
//reputation = save.homeSave.reputation;
|
||||||
mealCount = save.homeSave.mealCount;
|
mealCount = save.homeSave.mealCount;
|
||||||
houseworkCount = save.homeSave.houseworkCount;
|
houseworkCount = save.homeSave.houseworkCount;
|
||||||
|
|
||||||
@ -95,16 +95,16 @@ public class TestScript : MonoBehaviour,ISaveable
|
|||||||
// heartLevel = this.heartLevel,
|
// heartLevel = this.heartLevel,
|
||||||
// moveSpeedLevel = this.moveSpeedLevel,
|
// moveSpeedLevel = this.moveSpeedLevel,
|
||||||
// dashCoolDownLevel = this.dashCoolDownLevel,
|
// dashCoolDownLevel = this.dashCoolDownLevel,
|
||||||
stageLevel = this.stageLevel,
|
//stageLevel = this.stageLevel,
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
homeSave = new HomeSave
|
homeSave = new HomeSave
|
||||||
{
|
{
|
||||||
time = this.time,
|
//time = this.time,
|
||||||
currentDay = this.currentDay,
|
//currentDay = this.currentDay,
|
||||||
health = this.health,
|
//health = this.health,
|
||||||
reputation = this.reputation,
|
//reputation = this.reputation,
|
||||||
mealCount = this.mealCount,
|
mealCount = this.mealCount,
|
||||||
houseworkCount = this.houseworkCount
|
houseworkCount = this.houseworkCount
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,6 @@ public enum StatType
|
|||||||
|
|
||||||
public class UpgradeManager : Singleton<UpgradeManager>
|
public class UpgradeManager : Singleton<UpgradeManager>
|
||||||
{
|
{
|
||||||
//캔버스 프리팹 사용..?
|
|
||||||
Canvas canvas;
|
Canvas canvas;
|
||||||
|
|
||||||
public GameObject backgroundPanel;
|
public GameObject backgroundPanel;
|
||||||
|
@ -113,6 +113,7 @@ public class DungeonLogic : MonoBehaviour
|
|||||||
_player.SetState(PlayerState.Win);
|
_player.SetState(PlayerState.Win);
|
||||||
|
|
||||||
// TODO: 강화 시스템으로 넘어가고 일상 맵으로 이동
|
// TODO: 강화 시스템으로 넘어가고 일상 맵으로 이동
|
||||||
|
UpgradeManager.Instance.StartUpgrade(); //강화 시스템 호출
|
||||||
GameManager.Instance.PanelManager.GetPanel("ClearPanelBG");
|
GameManager.Instance.PanelManager.GetPanel("ClearPanelBG");
|
||||||
|
|
||||||
StartCoroutine(DelayedSceneChange()); // 5초 대기 후 전환
|
StartCoroutine(DelayedSceneChange()); // 5초 대기 후 전환
|
||||||
|
@ -4,7 +4,7 @@ using System.Collections.Generic;
|
|||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using Random = UnityEngine.Random;
|
using Random = UnityEngine.Random;
|
||||||
|
|
||||||
public class PlayerStats : MonoBehaviour
|
public class PlayerStats : MonoBehaviour, ISaveable
|
||||||
{
|
{
|
||||||
public class StatsChangeData // 변경된 스탯 데이터
|
public class StatsChangeData // 변경된 스탯 데이터
|
||||||
{
|
{
|
||||||
@ -225,4 +225,27 @@ public class PlayerStats : MonoBehaviour
|
|||||||
ReputationStat = _gameConstants.maxReputation;
|
ReputationStat = _gameConstants.maxReputation;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void ApplySaveData(Save save)
|
||||||
|
{
|
||||||
|
if (save?.homeSave != null)
|
||||||
|
{
|
||||||
|
TimeStat = save.homeSave.time;
|
||||||
|
HealthStat = save.homeSave.health;
|
||||||
|
ReputationStat = save.homeSave.reputation;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Save ExtractSaveData()
|
||||||
|
{
|
||||||
|
return new Save
|
||||||
|
{
|
||||||
|
homeSave = new HomeSave
|
||||||
|
{
|
||||||
|
time = this.TimeStat,
|
||||||
|
health = this.HealthStat,
|
||||||
|
reputation = this.ReputationStat,
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@ using System.Collections.Generic;
|
|||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.SceneManagement;
|
using UnityEngine.SceneManagement;
|
||||||
|
|
||||||
public partial class GameManager : Singleton<GameManager>
|
public partial class GameManager : Singleton<GameManager>, ISaveable
|
||||||
{
|
{
|
||||||
// 게임 진행 상태
|
// 게임 진행 상태
|
||||||
private int currentDay = 1; // 날짜
|
private int currentDay = 1; // 날짜
|
||||||
@ -105,4 +105,33 @@ public partial class GameManager : Singleton<GameManager>
|
|||||||
{
|
{
|
||||||
// TODO: 게임 종료 시 로직 추가
|
// TODO: 게임 종료 시 로직 추가
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void ApplySaveData(Save save)
|
||||||
|
{
|
||||||
|
if (save?.dungeonSave != null)
|
||||||
|
{
|
||||||
|
stageLevel = save.dungeonSave.stageLevel;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (save?.homeSave != null)
|
||||||
|
{
|
||||||
|
currentDay = save.homeSave.currentDay;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Save ExtractSaveData()
|
||||||
|
{
|
||||||
|
return new Save
|
||||||
|
{
|
||||||
|
dungeonSave = new DungeonSave()
|
||||||
|
{
|
||||||
|
stageLevel = this.stageLevel,
|
||||||
|
},
|
||||||
|
|
||||||
|
homeSave = new HomeSave
|
||||||
|
{
|
||||||
|
currentDay = this.currentDay,
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user