デイリーミッション修正

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() gameData.StorageTanks.Add(new StorageTank()
{ {
Capacity = 50, Capacity = 50,
FlavorId = 6, FlavorId = 5,
Stocks = new List<ProductStockData> Stocks = new List<ProductStockData>
{ {
new ProductStockData new ProductStockData

View File

@ -88,9 +88,17 @@ public class MissionManager : MonoBehaviour
// dailyMission // dailyMission
// コンプリートミッション // コンプリートミッション
MissionView completeMissionView;
{ {
var missionView = listView.AddDailyCompleteItemView(); 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; var progressValue = gameData.dailyMissionAchievedIdArray.Length;
missionView.SetData(missionData, progressValue); missionView.SetData(missionData, progressValue);
missionView.SetButtonActive(missionData.count <= progressValue); missionView.SetButtonActive(missionData.count <= progressValue);
@ -132,8 +140,10 @@ public class MissionManager : MonoBehaviour
GetReward(missionData); GetReward(missionData);
missionView.SetRewarded(); missionView.SetRewarded();
// 達成ID保存 // 達成ID保存
gameData.dailyMissionAchievedIdArray = new List<int>(gameData.dailyMissionIdArray){missionData.id}.ToArray(); gameData.dailyMissionAchievedIdArray = new List<int>(gameData.dailyMissionAchievedIdArray){missionData.id}.ToArray();
GameDataManager.SaveGameData(); GameDataManager.SaveGameData();
completeMissionView.ChangeProgress(gameData.dailyMissionIdArray.Length, gameData.dailyMissionAchievedIdArray.Length);
completeMissionView.SetButtonActive(gameData.dailyMissionIdArray.Length <= gameData.dailyMissionAchievedIdArray.Length);
}))); })));
TransitionManager.Instance.LoadSceneAdditive(GameScenes.MissionAchievement); TransitionManager.Instance.LoadSceneAdditive(GameScenes.MissionAchievement);
}).AddTo(missionView); }).AddTo(missionView);

View File

@ -25,6 +25,12 @@ public class MissionView : MonoBehaviour
progressText.text = string.Format(progressFormat, curentValue, missionData.count); 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) public void SetButtonActive(bool active)
{ {
rewardButton.gameObject.SetActive(active); rewardButton.gameObject.SetActive(active);

View File

@ -207,14 +207,14 @@ public sealed class GameData {
public void AddSalesCount(int id, int stock, ProductRarity rarity) public void AddSalesCount(int id, int stock, ProductRarity rarity)
{ {
OrderConditionCount += stock; 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}; stockData = new ProductStockData {FlavorId = id, Rarity = rarity, Stock = 0};
TotalSalesList.Add(stockData); TotalSalesList.Add(stockData);
} }
stockData.Stock += stock; 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}; dailyStockData = new ProductStockData {FlavorId = id, Rarity = rarity, Stock = 0};
DailyTotalSalesList.Add(dailyStockData); DailyTotalSalesList.Add(dailyStockData);

View File

@ -1,4 +1,5 @@
using System; using System;
using System.Collections.Generic;
using System.Linq; using System.Linq;
using UniRx; using UniRx;
using UnityEngine; using UnityEngine;
@ -92,6 +93,9 @@ public class GameDataObserver : SingletonMonoBehaviour<GameDataObserver>
var targetList = missionList.Where(data => var targetList = missionList.Where(data =>
data.Category == MissionCategory.Daily && data.shopLevel <= gameData.ViewedShopLevel); data.Category == MissionCategory.Daily && data.shopLevel <= gameData.ViewedShopLevel);
gameData.dailyMissionIdArray = targetList.ToList().RandomChoose(3).Select(data => data.id).ToArray(); 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.lastDailyMissionSetTime = DateTime.UtcNow.ToBinary();
gameData.dailyLoginCount++; gameData.dailyLoginCount++;
GameDataManager.SaveGameData(); GameDataManager.SaveGameData();

View File

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