54 lines
2.9 KiB
C#
54 lines
2.9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
|
|
// 원작 NSHTool.UserData 대응 저장 구조 (큰 수 = 문자열 · 시각 = DateTime.Ticks · 0 = 없음)
|
|
namespace VS.Sim
|
|
{
|
|
[Serializable] public class SaveItem { public int Type; public int Level; public long UpgradeEnd; public string Pending = "0"; }
|
|
[Serializable] public class SaveDeck { public int[] ids; }
|
|
[Serializable] public class SaveGift { public int Type; public long EffectEnd; public long CooldownEnd; public int RvProgress; public float PausedRemain; }
|
|
[Serializable] public class SaveQuest { public int id; public int state; public string progress = "0"; public string target = "0"; public string gps = "0"; }
|
|
|
|
[Serializable]
|
|
public class SaveData
|
|
{
|
|
public int version = 1;
|
|
public string coin = "0", follower = "0", coinDonate = "0";
|
|
public int ticket;
|
|
public int pkTicket;
|
|
public int rankIndex = 1; // indexCurrentRankFollower (UserData..ctor = 1)
|
|
public int house; // currentHouse (HouseType)
|
|
public List<SaveItem> rooms = new List<SaveItem>();
|
|
public List<SaveItem> skills = new List<SaveItem>();
|
|
public int closetLevel; // 0 = 없음
|
|
public long closetUpgradeEnd;
|
|
public int closetCurrent = 1000; // TypeCloset.None
|
|
public List<int> closetUnlocked = new List<int>();
|
|
public List<int> closetNew = new List<int>();
|
|
public float sumPassRoom, sumTapRoom;
|
|
public string totalCompletedIncome = "0";
|
|
public long lastActive; // AFK 기준 시각
|
|
public float adsBoostRemain, autoClickRemain;
|
|
public List<SaveGift> gifts = new List<SaveGift>();
|
|
public List<SaveQuest> quests = new List<SaveQuest>();
|
|
public int dailyClaimedDays;
|
|
public string dailyLastDate = "";
|
|
public string onlineDate = "";
|
|
public double onlineSeconds;
|
|
public int onlineClaimed;
|
|
public List<string> seenStories = new List<string>();
|
|
public string idolName = "player123";
|
|
public bool houseMaxUpgrade, skillMaxUpgrade;
|
|
public long firstPlay;
|
|
public int giftPlayDayCount;
|
|
public string giftLastPlayDate = "";
|
|
public bool isBuyCloset, giftUnlockedLifetime, freeGiftPopupClaimed;
|
|
public long timeAfk; // 백그라운드·종료 시각 (0 = 없음)
|
|
public string afkPending = "0"; // 아직 안 받은 방치 보상
|
|
public float playSeconds; // 누적 플레이 시간
|
|
public int battleStage = 1, battleSlots, battleManaLevel; // 전투 모드 (단계 · 소환 칸 · 최대 마나 강화 횟수)
|
|
public List<SaveDeck> decks = new List<SaveDeck>(); // 덱 프리셋(유닛 메뉴) — 칸마다 유닛 id · 0 = 빈 칸
|
|
public int deckSel; // 고른 프리셋
|
|
}
|
|
}
|