From 56d656ed416f35ec9caded0f517e4c818c8db757 Mon Sep 17 00:00:00 2001 From: kimura Date: Fri, 2 Dec 2022 18:49:11 +0900 Subject: [PATCH] =?UTF-8?q?=E3=83=9E=E3=83=BC=E3=82=B1=E3=83=83=E3=83=88?= =?UTF-8?q?=E5=88=9D=E5=9B=9E=E8=A1=A8=E7=A4=BA=E5=AF=BE=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Scenes/marketing/Scripts/MarketManager.cs | 14 +++++++++++++- .../Assets/MyGame/Scripts/ItemConditionUtils.cs | 8 ++++++-- popcorn/Assets/MyGame/Scripts/SpreadsheetData.cs | 1 + 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/MarketManager.cs b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/MarketManager.cs index fd5d21fc..1a532522 100644 --- a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/MarketManager.cs +++ b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/MarketManager.cs @@ -60,7 +60,19 @@ public class MarketManager : MonoBehaviour var cityData = cityDataList.First(data => data.id == GameDataManager.GameData.CurrentCityId); marketBgTarget.DestroyAllChildrens(); Instantiate(cityData.GetMarketBgPrefab(), marketBgTarget); - + + // 初回都市来訪スクリプト + var scriptList = SpreadsheetDataManager.Instance.GetBaseDataList(Const.ScriptDataSheet); + if (UnityEngine.SceneManagement.SceneManager.sceneCount != 1) return; + // シナリオ読み込み + if (ItemConditionUtils.GetScriptList(GameDataManager.GameData.CurrentCityId, ItemCondition.FirstVisitCityMarket, true).FirstOrDefault() is not { } conditionData) return; + var scripts = scriptList.Where(data => data.id == conditionData.scriptId).ToList(); + if (scripts.Count <= 0) return; + BrotherConversation.ShowDialog(scripts, () => + { + // 既読処理 + ItemConditionUtils.Use(conditionData); + }); // 最新の都市ではない場合、バイトが有効 if (!market.IsLatestCity) diff --git a/popcorn/Assets/MyGame/Scripts/ItemConditionUtils.cs b/popcorn/Assets/MyGame/Scripts/ItemConditionUtils.cs index 4f17710a..ffeab7eb 100644 --- a/popcorn/Assets/MyGame/Scripts/ItemConditionUtils.cs +++ b/popcorn/Assets/MyGame/Scripts/ItemConditionUtils.cs @@ -55,20 +55,24 @@ namespace MyGame.Scripts .ToList(); } - public static List GetScriptList(int cityId, ItemCondition condition) + public static List GetScriptList(int cityId, ItemCondition condition, bool ignoreUsed = false) { + var ignoreList = ignoreUsed ? GameDataManager.GameData.UsedScriptCondition : new List(); return SpreadsheetDataManager.Instance.GetBaseDataList(Const.ScriptConditionDataSheet) .Where(data => data.cityId == cityId) .Where(data => data.Condition == condition) + .Where(data => !ignoreList.Contains(data.id) ) .ToList(); } - public static List GetScriptList(int cityId, ItemCondition condition, int value) + public static List GetScriptList(int cityId, ItemCondition condition, int value, bool ignoreUsed = false) { + var ignoreList = ignoreUsed ? GameDataManager.GameData.UsedScriptCondition : new List(); return SpreadsheetDataManager.Instance.GetBaseDataList(Const.ScriptConditionDataSheet) .Where(data => data.cityId == cityId) .Where(data => data.Condition == condition) .Where(data => data.needValue <= value) + .Where(data => !ignoreList.Contains(data.id) ) .ToList(); } diff --git a/popcorn/Assets/MyGame/Scripts/SpreadsheetData.cs b/popcorn/Assets/MyGame/Scripts/SpreadsheetData.cs index 8d445509..b7651fbe 100644 --- a/popcorn/Assets/MyGame/Scripts/SpreadsheetData.cs +++ b/popcorn/Assets/MyGame/Scripts/SpreadsheetData.cs @@ -188,6 +188,7 @@ public enum ItemCondition CityLevel = 3, CityUnlock = 4, CityFundingCompleted = 5, + FirstVisitCityMarket = 6, } public enum RewardActionType