From aceb1a5742244f28c12b9f882b1f8c22612bd7f8 Mon Sep 17 00:00:00 2001 From: kimura Date: Fri, 4 Nov 2022 15:14:48 +0900 Subject: [PATCH] =?UTF-8?q?util=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MyGame/Scripts/ItemConditionUtils.cs | 80 +++++++++++++++++++ .../MyGame/Scripts/ItemConditionUtils.cs.meta | 3 + 2 files changed, 83 insertions(+) create mode 100644 popcorn/Assets/MyGame/Scripts/ItemConditionUtils.cs create mode 100644 popcorn/Assets/MyGame/Scripts/ItemConditionUtils.cs.meta diff --git a/popcorn/Assets/MyGame/Scripts/ItemConditionUtils.cs b/popcorn/Assets/MyGame/Scripts/ItemConditionUtils.cs new file mode 100644 index 00000000..a6d6ec82 --- /dev/null +++ b/popcorn/Assets/MyGame/Scripts/ItemConditionUtils.cs @@ -0,0 +1,80 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using UnityEngine; + +namespace MyGame.Scripts +{ + public class ItemConditionUtils + { + public static List GetList() + { + return SpreadsheetDataManager.Instance.GetBaseDataList(Const.ItemConditionDataSheet); + } + + public static List GetScriptList() + { + return SpreadsheetDataManager.Instance.GetBaseDataList(Const.ScriptConditionDataSheet); + } + + public static List GetList(int cityId) + { + return SpreadsheetDataManager.Instance.GetBaseDataList(Const.ItemConditionDataSheet) + .Where(data => data.cityId == cityId) + .ToList(); + } + + public static List GetList(int cityId, ItemCondition condition) + { + return SpreadsheetDataManager.Instance.GetBaseDataList(Const.ItemConditionDataSheet) + .Where(data => data.cityId == cityId) + .Where(data => data.Condition == condition) + .ToList(); + } + + public static List GetGlobalList(ItemCondition condition, int value) => GetList(0, condition, value); + public static List GetGlobalList(ItemCondition condition, int value, RewardActionType rewardActionType, bool ignoreUsed = false) => GetList(0, condition, value, rewardActionType, ignoreUsed); + public static List GetList(int cityId, ItemCondition condition, int value) + { + return SpreadsheetDataManager.Instance.GetBaseDataList(Const.ItemConditionDataSheet) + .Where(data => data.cityId == cityId) + .Where(data => data.Condition == condition) + .Where(data => data.needValue <= value) + .ToList(); + } + + public static List GetList(int cityId, ItemCondition condition, int value, RewardActionType rewardActionType, bool ignoreUsed = false) + { + var ignoreList = ignoreUsed ? GameDataManager.GameData.UsedItemCondition : new List(); + return SpreadsheetDataManager.Instance.GetBaseDataList(Const.ItemConditionDataSheet) + .Where(data => data.cityId == cityId) + .Where(data => data.Condition == condition) + .Where(data => data.needValue <= value) + .Where(data => data.RewardActionType == rewardActionType) + .Where(data => !ignoreList.Contains(data.id) ) + .ToList(); + } + + public static List GetScriptList(int cityId, ItemCondition condition) + { + return SpreadsheetDataManager.Instance.GetBaseDataList(Const.ScriptConditionDataSheet) + .Where(data => data.cityId == cityId) + .Where(data => data.Condition == condition) + .ToList(); + } + + public static List GetScriptList(int cityId, ItemCondition condition, int value) + { + return SpreadsheetDataManager.Instance.GetBaseDataList(Const.ScriptConditionDataSheet) + .Where(data => data.cityId == cityId) + .Where(data => data.Condition == condition) + .Where(data => data.needValue <= value) + .ToList(); + } + + public static void Use(ItemConditionData itemConditionData) + { + GameDataManager.GameData.UsedItemCondition.Add(itemConditionData.id); + } + } +} \ No newline at end of file diff --git a/popcorn/Assets/MyGame/Scripts/ItemConditionUtils.cs.meta b/popcorn/Assets/MyGame/Scripts/ItemConditionUtils.cs.meta new file mode 100644 index 00000000..42840d5c --- /dev/null +++ b/popcorn/Assets/MyGame/Scripts/ItemConditionUtils.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: e6fa9bff677e4168bd7a82981de94ce4 +timeCreated: 1667534395 \ No newline at end of file