デイリーミッション修正

This commit is contained in:
kimura 2021-10-25 13:57:00 +09:00
parent fbe9364c20
commit a28c1dc2e1
6 changed files with 28 additions and 8 deletions

View File

@ -79,7 +79,7 @@ public class DebugOptionManager : MonoBehaviour
gameData.StorageTanks.Add(new StorageTank()
{
Capacity = 50,
FlavorId = 6,
FlavorId = 5,
Stocks = new List<ProductStockData>
{
new ProductStockData

View File

@ -88,9 +88,17 @@ public class MissionManager : MonoBehaviour
// dailyMission
// コンプリートミッション
MissionView completeMissionView;
{
var missionView = listView.AddDailyCompleteItemView();
var missionData = new MissionData(){count = 3, reward = dailyMissionCompleteRewardCoin, text = "デイリーミッションすべて完了で達成"};
completeMissionView = missionView;
var missionData = new MissionData()
{
count = gameData.dailyMissionIdArray.Length,
reward = dailyMissionCompleteRewardCoin,
text = "デイリーミッションすべて完了で達成",
category = (int)MissionCategory.Daily,
};
var progressValue = gameData.dailyMissionAchievedIdArray.Length;
missionView.SetData(missionData, progressValue);
missionView.SetButtonActive(missionData.count <= progressValue);
@ -132,8 +140,10 @@ public class MissionManager : MonoBehaviour
GetReward(missionData);
missionView.SetRewarded();
// 達成ID保存
gameData.dailyMissionAchievedIdArray = new List<int>(gameData.dailyMissionIdArray){missionData.id}.ToArray();
gameData.dailyMissionAchievedIdArray = new List<int>(gameData.dailyMissionAchievedIdArray){missionData.id}.ToArray();
GameDataManager.SaveGameData();
completeMissionView.ChangeProgress(gameData.dailyMissionIdArray.Length, gameData.dailyMissionAchievedIdArray.Length);
completeMissionView.SetButtonActive(gameData.dailyMissionIdArray.Length <= gameData.dailyMissionAchievedIdArray.Length);
})));
TransitionManager.Instance.LoadSceneAdditive(GameScenes.MissionAchievement);
}).AddTo(missionView);

View File

@ -25,6 +25,12 @@ public class MissionView : MonoBehaviour
progressText.text = string.Format(progressFormat, curentValue, missionData.count);
}
public void ChangeProgress(int goalValue, int curentValue)
{
progressBar.value = Mathf.InverseLerp(0, goalValue, curentValue);
progressText.text = string.Format(progressFormat, curentValue, goalValue);
}
public void SetButtonActive(bool active)
{
rewardButton.gameObject.SetActive(active);

View File

@ -207,14 +207,14 @@ public sealed class GameData {
public void AddSalesCount(int id, int stock, ProductRarity rarity)
{
OrderConditionCount += stock;
if (!(TotalSalesList.FirstOrDefault(x => x.Rarity == rarity) is ProductStockData stockData))
if (!(TotalSalesList.FirstOrDefault(x => x.FlavorId == id && x.Rarity == rarity) is ProductStockData stockData))
{
stockData = new ProductStockData {FlavorId = id, Rarity = rarity, Stock = 0};
TotalSalesList.Add(stockData);
}
stockData.Stock += stock;
if (!(DailyTotalSalesList.FirstOrDefault(x => x.Rarity == rarity) is ProductStockData dailyStockData))
if (!(DailyTotalSalesList.FirstOrDefault(x => x.FlavorId == id && x.Rarity == rarity) is ProductStockData dailyStockData))
{
dailyStockData = new ProductStockData {FlavorId = id, Rarity = rarity, Stock = 0};
DailyTotalSalesList.Add(dailyStockData);

View File

@ -1,4 +1,5 @@
using System;
using System.Collections.Generic;
using System.Linq;
using UniRx;
using UnityEngine;
@ -92,6 +93,9 @@ public class GameDataObserver : SingletonMonoBehaviour<GameDataObserver>
var targetList = missionList.Where(data =>
data.Category == MissionCategory.Daily && data.shopLevel <= gameData.ViewedShopLevel);
gameData.dailyMissionIdArray = targetList.ToList().RandomChoose(3).Select(data => data.id).ToArray();
#if UNITY_EDITOR
gameData.dailyMissionIdArray = new List<int>(gameData.dailyMissionIdArray){291}.ToArray();
#endif
gameData.lastDailyMissionSetTime = DateTime.UtcNow.ToBinary();
gameData.dailyLoginCount++;
GameDataManager.SaveGameData();

View File

@ -53,8 +53,8 @@ public enum MissionCondition
CustomerCount = 2,
SalesCount = 3,
RareSalesCount = 4,
RecipeCount = 5,
CoinConsumeCount = 6,
CoinConsumeCount = 5,
RecipeCount = 6,
BulkOrderDeliveredCount = 7,
SaltSalesCount = 8,
RareSaltSalesCount = 9,