69 lines
1.9 KiB
C#
69 lines
1.9 KiB
C#
using System;
|
|
using UnityEngine;
|
|
|
|
// 던전 관련 저장 데이터
|
|
[Serializable]
|
|
public class DungeonSave
|
|
{
|
|
// 강화 수치
|
|
public int attackPowerLevel = 0;
|
|
public int attackSpeedLevel = 0;
|
|
public int heartLevel = 0;
|
|
public int moveSpeedLevel = 0;
|
|
public int dashCoolDownLevel = 0;
|
|
|
|
// 현재 진행 중인 스테이지
|
|
public int stageLevel = 0;
|
|
|
|
//병합을 위한 메서드
|
|
public void MergeWith(DungeonSave other)
|
|
{
|
|
if (other == null) return;
|
|
|
|
if (other.attackPowerLevel != 0) attackPowerLevel = other.attackPowerLevel;
|
|
if (other.attackSpeedLevel != 0) attackSpeedLevel = other.attackSpeedLevel;
|
|
if (other.heartLevel != 0) heartLevel = other.heartLevel;
|
|
if (other.moveSpeedLevel != 0) moveSpeedLevel = other.moveSpeedLevel;
|
|
if (other.dashCoolDownLevel != 0) dashCoolDownLevel = other.dashCoolDownLevel;
|
|
if (other.stageLevel != 0) stageLevel = other.stageLevel;
|
|
}
|
|
}
|
|
|
|
// 일상(자취방) 관련 저장 데이터
|
|
[Serializable]
|
|
public class HomeSave
|
|
{
|
|
// 일상 시간
|
|
public int currentDay = 0;
|
|
public float time = 999;
|
|
|
|
|
|
// 체력 및 평판 수치
|
|
public float health = 999;
|
|
public float reputation = 999;
|
|
|
|
//이벤트
|
|
public int mealCount = 999;
|
|
public int houseworkCount = 999;
|
|
|
|
//병합을 위한 메서드
|
|
public void MergeWith(HomeSave other)
|
|
{
|
|
if (other == null) return;
|
|
|
|
if (other.currentDay != 0) currentDay = other.currentDay;
|
|
if (other.time < 999) time = other.time;
|
|
if (other.health < 999) health = other.health;
|
|
if (other.reputation < 999) reputation = other.reputation;
|
|
if (other.mealCount < 999) mealCount = other.mealCount;
|
|
if (other.houseworkCount < 999) houseworkCount = other.houseworkCount;
|
|
}
|
|
}
|
|
|
|
// 게임 전체 저장 구조
|
|
[Serializable]
|
|
public class Save
|
|
{
|
|
public HomeSave homeSave;
|
|
public DungeonSave dungeonSave;
|
|
} |