オーダーチェック修正
This commit is contained in:
parent
9dd9fbfdc8
commit
0a3d4454c4
|
|
@ -50,7 +50,7 @@ public class KitchenManager : MonoBehaviour
|
||||||
var bulkOrderList = SpreadsheetDataManager.Instance.GetBaseDataList<BulkOrderData>(Const.BulkOrderDataSheet);
|
var bulkOrderList = SpreadsheetDataManager.Instance.GetBaseDataList<BulkOrderData>(Const.BulkOrderDataSheet);
|
||||||
var bulkOrderData = bulkOrderList.First(data => data.id == gameData.OrderIdInProgress);
|
var bulkOrderData = bulkOrderList.First(data => data.id == gameData.OrderIdInProgress);
|
||||||
var result = CheckBulkOrder();
|
var result = CheckBulkOrder();
|
||||||
var achieved = gameData.DeliveredOrder.Contains(bulkOrderData.id);
|
var achieved = gameData.DeliveredOrder.Contains(bulkOrderData.id) || gameData.AchievedOrderLevel == bulkOrderData.shopLevel;
|
||||||
var cancelled = gameData.OrderIdInProgress == gameData.CancelOrderId;
|
var cancelled = gameData.OrderIdInProgress == gameData.CancelOrderId;
|
||||||
GameDataManager.SaveGameData();
|
GameDataManager.SaveGameData();
|
||||||
LocalCacheManager.Save(ArchivedCallbackTag, new Action(() =>
|
LocalCacheManager.Save(ArchivedCallbackTag, new Action(() =>
|
||||||
|
|
@ -128,26 +128,19 @@ public class KitchenManager : MonoBehaviour
|
||||||
return (false, nextOrderId, nextOrderLevel);
|
return (false, nextOrderId, nextOrderLevel);
|
||||||
}
|
}
|
||||||
|
|
||||||
var achieved = gameData.DeliveredOrder.Contains(bulkOrderData.id);
|
var achieved = gameData.DeliveredOrder.Contains(gameData.OrderIdInProgress);
|
||||||
var nextOrderList = bulkOrderList.Where(data => data.shopLevel == nextOrderLevel).ToList();
|
var nextOrderList = bulkOrderList.Where(data => data.shopLevel == nextOrderLevel).ToList();
|
||||||
if (!nextOrderList.Exists(data => data.id == gameData.OrderIdInProgress))
|
if (!nextOrderList.Exists(data => data.id == gameData.OrderIdInProgress))
|
||||||
{
|
{
|
||||||
// まだ次のオーダーが設定されてない場合nextOrderListの一番若いIDを設定
|
// まだ次のオーダーが設定されてない場合nextOrderListの一番若いIDを設定
|
||||||
nextOrderId = nextOrderList.First().id;
|
nextOrderId = nextOrderList.First().id;
|
||||||
}
|
}
|
||||||
else if (gameData.OrderIdInProgress == gameData.CancelOrderId && gameData.CancelOrderId > 0)
|
else if (achieved || gameData.OrderIdInProgress == gameData.CancelOrderId && gameData.CancelOrderId > 0)
|
||||||
{
|
{
|
||||||
// キャンセルされた場合次のIDを設定
|
// 達成済みか、キャンセルされた場合次のIDを設定
|
||||||
var orderCount = nextOrderList.Count;
|
var orderList = nextOrderList.Where(data => !gameData.DeliveredOrder.Contains(data.id)).ToList();
|
||||||
var nextIndex = nextOrderList.FindIndex(data => data.id == gameData.OrderIdInProgress) + 1;
|
var nextIndex = orderList.FindIndex(data => data.id > gameData.OrderIdInProgress);
|
||||||
nextOrderId = nextOrderList[nextIndex >= orderCount ? 0 : nextIndex].id;
|
nextOrderId = orderList[Mathf.Max(0, nextIndex)].id;
|
||||||
}
|
|
||||||
else if (achieved && gameData.DeliveredOrder.Count < bulkOrderData.maxOrder)
|
|
||||||
{
|
|
||||||
// 現在のオーダーが達成済みかつmaxOrderに達していなければ次のIDを設定
|
|
||||||
var orderCount = nextOrderList.Count;
|
|
||||||
var nextIndex = nextOrderList.FindIndex(data => data.id == gameData.OrderIdInProgress) + 1;
|
|
||||||
nextOrderId = nextOrderList[nextIndex >= orderCount ? 0 : nextIndex].id;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gameData.OrderIdInProgress == nextOrderId)
|
if (gameData.OrderIdInProgress == nextOrderId)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue