バイト君の報酬(羽)の付与方法変更
This commit is contained in:
parent
aceb1a5742
commit
7603bc9f38
|
|
@ -35,8 +35,9 @@ namespace MyGame.Scenes.Main.Scripts
|
||||||
var (coin, heart) = PartTimerManager.CalcEarnings(partTimerData, cityGameData.PartTimerElapsed);
|
var (coin, heart) = PartTimerManager.CalcEarnings(partTimerData, cityGameData.PartTimerElapsed);
|
||||||
coinText.text = coin.ToString();
|
coinText.text = coin.ToString();
|
||||||
heartText.text = heart.ToString();
|
heartText.text = heart.ToString();
|
||||||
shopCustomizeObject.SetActive(PartTimerManager.Instance.CheckEarningsCustomizeCoin(true));
|
var customizeCoin = PartTimerManager.Instance.CheckEarningsCustomizeCoin();
|
||||||
shopCustomizeCoinText.text = "1";
|
shopCustomizeObject.SetActive(customizeCoin > 0);
|
||||||
|
shopCustomizeCoinText.text = customizeCoin.ToString();
|
||||||
|
|
||||||
closeButton.OnClickAsObservable().Take(1).Subscribe(_ =>
|
closeButton.OnClickAsObservable().Take(1).Subscribe(_ =>
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -200,7 +200,9 @@ public sealed class GameData {
|
||||||
// バイト君
|
// バイト君
|
||||||
public int PartTimerLevel;
|
public int PartTimerLevel;
|
||||||
public int PartTimerElapsed; // ゲーム起動中経過時間
|
public int PartTimerElapsed; // ゲーム起動中経過時間
|
||||||
public int CustomizeCoinElapsed; // 羽の獲得用経過時間
|
|
||||||
|
private int[] usedItemCondition;
|
||||||
|
public List<int> UsedItemCondition;
|
||||||
|
|
||||||
// mission
|
// mission
|
||||||
[DataMember(Name = "Data1001")]
|
[DataMember(Name = "Data1001")]
|
||||||
|
|
@ -571,6 +573,7 @@ public sealed class GameData {
|
||||||
ScrollGameStageScoreList = ScrollGameStageScoreList ?? new List<ScrollGameScoreData>();
|
ScrollGameStageScoreList = ScrollGameStageScoreList ?? new List<ScrollGameScoreData>();
|
||||||
CityGameDataDict ??= new CityGameDataDict();
|
CityGameDataDict ??= new CityGameDataDict();
|
||||||
FundingDict ??= new FundingDict();
|
FundingDict ??= new FundingDict();
|
||||||
|
UsedItemCondition = usedItemCondition?.ToList() ?? new List<int>();
|
||||||
}
|
}
|
||||||
private Dictionary<int, int> ArrayToDictionary(KeyValueOfintint[] array){
|
private Dictionary<int, int> ArrayToDictionary(KeyValueOfintint[] array){
|
||||||
var dictionary = new Dictionary<int, int>();
|
var dictionary = new Dictionary<int, int>();
|
||||||
|
|
@ -587,6 +590,7 @@ public sealed class GameData {
|
||||||
// lastAdRewardTimeArray = lastAdRewardTimeList.ToArray();
|
// lastAdRewardTimeArray = lastAdRewardTimeList.ToArray();
|
||||||
achievedMission = AchievedMission.ToArray();
|
achievedMission = AchievedMission.ToArray();
|
||||||
deliveredOrder = DeliveredOrder.ToArray();
|
deliveredOrder = DeliveredOrder.ToArray();
|
||||||
|
usedItemCondition = UsedItemCondition.ToArray();
|
||||||
// CityGameData
|
// CityGameData
|
||||||
foreach (var cityGameData in CityGameDataDict.Values)
|
foreach (var cityGameData in CityGameDataDict.Values)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -12,9 +12,6 @@ namespace MyGame.Scripts
|
||||||
{
|
{
|
||||||
[SerializeField] private int updateTiming = 2;
|
[SerializeField] private int updateTiming = 2;
|
||||||
[SerializeField] private int saveTiming = 10;
|
[SerializeField] private int saveTiming = 10;
|
||||||
[SerializeField] private int shopCustomizeCoinTiming = 86400; // 1day
|
|
||||||
[SerializeField] private int targetCount = 3;
|
|
||||||
private int checkCount;
|
|
||||||
private float saveElapsed;
|
private float saveElapsed;
|
||||||
private List<GameData> partTimerList;
|
private List<GameData> partTimerList;
|
||||||
private void Start()
|
private void Start()
|
||||||
|
|
@ -38,8 +35,6 @@ namespace MyGame.Scripts
|
||||||
cityGameData.PartTimerElapsed += updateTiming;
|
cityGameData.PartTimerElapsed += updateTiming;
|
||||||
}
|
}
|
||||||
|
|
||||||
GameDataManager.GameData.CustomizeCoinElapsed += updateTiming;
|
|
||||||
|
|
||||||
saveElapsed += updateTiming;
|
saveElapsed += updateTiming;
|
||||||
if (saveTiming < saveElapsed)
|
if (saveTiming < saveElapsed)
|
||||||
{
|
{
|
||||||
|
|
@ -79,13 +74,15 @@ namespace MyGame.Scripts
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public int GetCustomizeCoin()
|
public int GetCustomizeCoin()
|
||||||
{
|
{
|
||||||
if (CheckEarningsCustomizeCoin())
|
// 達成リスト
|
||||||
|
var list = ItemConditionUtils.GetGlobalList(ItemCondition.TotalHeart, GameDataUtils.GetTotalHeart(), RewardActionType.CustomizeCoin, true);
|
||||||
|
var rewardCount = 0;
|
||||||
|
list.ForEach(data =>
|
||||||
{
|
{
|
||||||
checkCount = 0;
|
rewardCount += data.value;
|
||||||
GameDataManager.GameData.CustomizeCoinElapsed -= shopCustomizeCoinTiming;
|
ItemConditionUtils.Use(data);
|
||||||
return 1;
|
});
|
||||||
}
|
return rewardCount;
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -93,24 +90,7 @@ namespace MyGame.Scripts
|
||||||
/// checkCountがTargetCount以上になれば受取可能
|
/// checkCountがTargetCount以上になれば受取可能
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public bool CheckEarningsCustomizeCoin(bool withCount = false)
|
public int CheckEarningsCustomizeCoin() => ItemConditionUtils.GetGlobalList(ItemCondition.TotalHeart, GameDataUtils.GetTotalHeart(), RewardActionType.CustomizeCoin, true).Sum(data => data.value);
|
||||||
{
|
|
||||||
#if UNITY_EDITOR
|
|
||||||
Debug.Log($"CustomizeCoinElapsed:{GameDataManager.GameData.CustomizeCoinElapsed}/{shopCustomizeCoinTiming} checkCount:{checkCount}/{targetCount}");
|
|
||||||
#endif
|
|
||||||
if (shopCustomizeCoinTiming <= GameDataManager.GameData.CustomizeCoinElapsed)
|
|
||||||
{
|
|
||||||
if (withCount)
|
|
||||||
{
|
|
||||||
checkCount++;
|
|
||||||
}
|
|
||||||
if (targetCount <= checkCount)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static (int coin, int heart) CalcEarnings(PartTimerData partTimerData, int elapsed)
|
public static (int coin, int heart) CalcEarnings(PartTimerData partTimerData, int elapsed)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue