mergemilitary/Assets/Scripts/Storage/PlayerData.cs

133 lines
2.9 KiB
C#
Raw Normal View History

2022-05-23 13:39:59 +00:00
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerData : StorageBase<PlayerData>
{
public int CurrentLevel
{
get => mCurrentLevel;
set
{
mCurrentLevel = value;
Save();
}
}
[SerializeField] int mCurrentLevel = 1;
public int CurrentLevelID
{
get => mCurrentLevel - 1;//GameConfig.Instance.LevelList[(mCurrentLevel - 1) % GameConfig.Instance.LevelList.Count];
}
public int Coin
{
get => mCoin;
set
{
mCoin = value;
Save();
}
}
[SerializeField] int mCoin = 0;
public string ArmyStr
{
get => mArmyStr;
set
{
mArmyStr = value;
Save();
}
}
[SerializeField] string mArmyStr = "12_0_1";
public bool IsArmyFull
{
get => mArmyStr.Split(';').Length >= 15;
}
[SerializeField] List<string> mOwnedCardIDs = new List<string>() { "Human_01", "Monster_01"};
public int LoginCount => mLoginCount;
[SerializeField] long mRegisterTimestamp = 0;
[SerializeField] bool mHasRegister = false;
[SerializeField] int mLoginCount = 0;
public int HumanPrice => (200 * (mHumanBoughtCount / 64 + 1)) * mHumanBoughtCount;
[SerializeField] private int mHumanBoughtCount = 0;
public int MonsterPrice => (200 * (mMonsterBoughtCount / 64 + 1)) * mMonsterBoughtCount;
[SerializeField] private int mMonsterBoughtCount = 0;
[SerializeField] private List<int> mFinishedGuideIndex = new List<int>();
public bool IsNoAds
{
get => mIsNoAds;
set
{
mIsNoAds = value;
TKGSDKManager.Instance.IsNoInterstitialAD = mIsNoAds;
Save();
}
}
[SerializeField] bool mIsNoAds = false;
public void Login()
{
if (!mHasRegister)
{
mHasRegister = true;
mRegisterTimestamp = Utils.DateToTimestamp(DateTime.Now);
}
mLoginCount++;
Save();
}
#region card
public bool HasCard(string pCardID)
{
return mOwnedCardIDs.Contains(pCardID);
}
public void GetCard(string pCard)
{
if (!mOwnedCardIDs.Contains(pCard))
{
mOwnedCardIDs.Add(pCard);
Save();
}
}
public void BuyHuman()
{
mHumanBoughtCount++;
Save();
}
public void BuyMonster()
{
mMonsterBoughtCount++;
Save();
}
#endregion
#region guide
public bool CheckGuide(int pIndex)
{
return mFinishedGuideIndex.Contains(pIndex);
}
public void FinishGuide(int pIndex)
{
if (!mFinishedGuideIndex.Contains(pIndex))
{
mFinishedGuideIndex.Add(pIndex);
Save();
}
}
#endregion
}