ワールドマップチュートリアル表示追加

マップ移動制限表示追加
This commit is contained in:
kimura 2022-12-02 19:43:26 +09:00
parent 0677320d0e
commit 4eb2eb46f7
4 changed files with 27 additions and 3 deletions

View File

@ -70,6 +70,22 @@ namespace MyGame.Scenes.WorldMap.Scripts
{
TransitionManager.Instance.LoadScene(GameScenes.Main);
}).AddTo(this);
// チュートリアル
if (!globalGameData.FinishedFlags.HasFlag(TutorialFlag.WorldMap))
{
var scriptList = SpreadsheetDataManager.Instance.GetBaseDataList<BrotherScriptData>(Const.ScriptDataSheet);
var scripts = scriptList.Where(data => data.id == Const.WorldMapTutorialScriptId).ToList();
if (scripts.Count > 0 && UnityEngine.SceneManagement.SceneManager.sceneCount == 1)
{
BrotherConversation.ShowDialog(scripts, () =>
{
// 既読処理(必要なら
globalGameData.FinishedFlags |= TutorialFlag.WorldMap;
GameDataManager.SaveGameData();
});
}
}
foreach (var cityIcon in cityIcons)
{

View File

@ -36,6 +36,8 @@ public static class Const {
public static readonly int ScrollGameDailyPlayMaxCount = 4;
public static readonly int ScrollGameDailyResetOffsetHours = 0; // 翌日0時基準
public static readonly int ScrollGameAvailableLevel = 8;
public static readonly int WorldMapTutorialScriptId = 21;
public static readonly int WorldTripLimitScriptId = 25;
// tag
public static readonly string GameDataTag = "GameData";

View File

@ -17,6 +17,7 @@ public class HeaderManager : MonoBehaviour
private void Start()
{
var scriptList = SpreadsheetDataManager.Instance.GetBaseDataList<BrotherScriptData>(Const.ScriptDataSheet);
var cityGameData = GameDataManager.GetCurrentCityGameData();
var isOpenMission = false;
settingButton.OnClickAsObservable().ThrottleFirst(TimeSpan.FromSeconds(1f)).Subscribe(_ =>
@ -45,8 +46,13 @@ public class HeaderManager : MonoBehaviour
// 最新の都市以外は在庫があるとき他の都市に行けない
if (!GameDataUtils.CheckLatestCity(GameDataManager.GameData.CurrentCityId) && totalStock > 0)
{
// UpdateDialog.ShowDialog();
// return;
var levelUpScripts = scriptList.Where(data => data.id == Const.WorldTripLimitScriptId).ToList();
if (levelUpScripts.Count <= 0) return;
BrotherConversation.ShowDialog(levelUpScripts, () =>
{
// 既読処理(必要なら
});
return;
}
TransitionManager.Instance.LoadScene(GameScenes.WorldMap);
}).AddTo(this);
@ -71,7 +77,6 @@ public class HeaderManager : MonoBehaviour
// 都市ごとの店舗レベルアップチェック
var cityShopLevelDataList = SpreadsheetDataManager.Instance.GetBaseDataList<CityShopLevelData>(Const.CityShopLevelDataSheet);
var currentCityList = cityShopLevelDataList.Where(data => data.cityId == GameDataManager.GameData.CurrentCityId);
var scriptList = SpreadsheetDataManager.Instance.GetBaseDataList<BrotherScriptData>(Const.ScriptDataSheet);
GameDataObserver.Instance.HeartObserver.Subscribe(_ =>
{
if (UnityEngine.SceneManagement.SceneManager.sceneCount != 1) return;

View File

@ -17,6 +17,7 @@ namespace MyGame.Scripts
AutoCook = 1 << 4,
ShopCustomize = 1 << 5,
ScrollGame = 1 << 6,
WorldMap = 1 << 7,
}
public class TutorialManager : SingletonMonoBehaviour<TutorialManager>
{