diff --git a/popcorn/Assets/MyGame/Prefabs/TutorialObjectMask.prefab b/popcorn/Assets/MyGame/Prefabs/TutorialObjectMask.prefab index c809443a..d221030e 100644 --- a/popcorn/Assets/MyGame/Prefabs/TutorialObjectMask.prefab +++ b/popcorn/Assets/MyGame/Prefabs/TutorialObjectMask.prefab @@ -111,7 +111,7 @@ RectTransform: m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 0, y: 0} + m_SizeDelta: {x: 0, y: 600} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &4293843006989820483 CanvasRenderer: diff --git a/popcorn/Assets/MyGame/Scenes/CornField/CornField.unity b/popcorn/Assets/MyGame/Scenes/CornField/CornField.unity index ef3af65c..7d55a05b 100644 --- a/popcorn/Assets/MyGame/Scenes/CornField/CornField.unity +++ b/popcorn/Assets/MyGame/Scenes/CornField/CornField.unity @@ -14768,7 +14768,7 @@ PrefabInstance: - target: {fileID: 4293843006989820480, guid: 1c993e9707f1a4fada56020be27dde28, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 600 objectReference: {fileID: 0} - target: {fileID: 4293843006989820480, guid: 1c993e9707f1a4fada56020be27dde28, type: 3} @@ -14848,7 +14848,7 @@ PrefabInstance: - target: {fileID: 4293843007976718249, guid: 1c993e9707f1a4fada56020be27dde28, type: 3} propertyPath: m_SizeDelta.y - value: 806.6114 + value: 826.3005 objectReference: {fileID: 0} - target: {fileID: 4293843007976718249, guid: 1c993e9707f1a4fada56020be27dde28, type: 3} @@ -14858,12 +14858,12 @@ PrefabInstance: - target: {fileID: 4293843007976718249, guid: 1c993e9707f1a4fada56020be27dde28, type: 3} propertyPath: m_AnchoredPosition.y - value: 173.4 + value: 183.2 objectReference: {fileID: 0} - target: {fileID: 7550014134400670843, guid: 1c993e9707f1a4fada56020be27dde28, type: 3} propertyPath: m_AnchoredPosition.y - value: -565 + value: 65 objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 1c993e9707f1a4fada56020be27dde28, type: 3} diff --git a/popcorn/Assets/MyGame/Scenes/CornField/ReinforcementDetail.unity b/popcorn/Assets/MyGame/Scenes/CornField/ReinforcementDetail.unity index 44351cec..be217013 100644 --- a/popcorn/Assets/MyGame/Scenes/CornField/ReinforcementDetail.unity +++ b/popcorn/Assets/MyGame/Scenes/CornField/ReinforcementDetail.unity @@ -948,7 +948,7 @@ MonoBehaviour: m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} m_SelectOnRight: {fileID: 0} - m_Transition: 1 + m_Transition: 0 m_Colors: m_NormalColor: {r: 1, g: 1, b: 1, a: 1} m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} @@ -1750,7 +1750,7 @@ MonoBehaviour: m_SelectOnDown: {fileID: 0} m_SelectOnLeft: {fileID: 0} m_SelectOnRight: {fileID: 0} - m_Transition: 1 + m_Transition: 0 m_Colors: m_NormalColor: {r: 1, g: 1, b: 1, a: 1} m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} diff --git a/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornField.cs b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornField.cs index e7df4d94..67d31657 100644 --- a/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornField.cs +++ b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornField.cs @@ -98,7 +98,7 @@ public class CornField : MonoBehaviour SetCornField(); - upgradeButton.OnClickAsObservable().Subscribe(_ => + upgradeButton.OnClickAsObservable().ThrottleFirst(TimeSpan.FromSeconds(.3f)).Subscribe(_ => { LocalCacheManager.Save(CornFieldReinforcement.CornFieldResetCallbackTag, new Action(() => SetCornField())); TransitionManager.Instance.LoadSceneAdditive(GameScenes.Reinforcement); diff --git a/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornFieldReinforcement.cs b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornFieldReinforcement.cs index 2c17fe2e..ab682ed6 100644 --- a/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornFieldReinforcement.cs +++ b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornFieldReinforcement.cs @@ -19,7 +19,7 @@ public class CornFieldReinforcement : MonoBehaviour private void Start() { compositeDisposable.AddTo(this); - closeButton.OnClickAsObservable().Subscribe(_ => + closeButton.OnClickAsObservable().Take(1).Subscribe(_ => { LocalCacheManager.Remove(CornFieldReinforcementDataTypeTag); LocalCacheManager.Remove(CornFieldReinforcementDataTag); @@ -53,7 +53,7 @@ public class CornFieldReinforcement : MonoBehaviour view.SetButtonActive(price <= CoinManager.Instance.OwnCoin); view.SetReinforcement(lineData, price); // 購入ボタン - view.ButtonClickObserve.Subscribe(_ => + view.ButtonClickObserve.ThrottleFirst(TimeSpan.FromSeconds(.3f)).Subscribe(_ => { LocalCacheManager.Save(CornFieldReinforcementDataTypeTag, upgradeType); LocalCacheManager.Save(CornFieldReinforcementDataTag, (lineData, price, new Action(() => { @@ -71,7 +71,7 @@ public class CornFieldReinforcement : MonoBehaviour view.SetButtonActive(price <= CoinManager.Instance.OwnCoin); view.SetRelease(price); // 購入ボタン - view.ButtonClickObserve.Subscribe(_ => + view.ButtonClickObserve.ThrottleFirst(TimeSpan.FromSeconds(.3f)).Subscribe(_ => { LocalCacheManager.Save(CornFieldReinforcementDataTypeTag, upgradeType); LocalCacheManager.Save(CornFieldReinforcementDataTag, (lineData = null, price, new Action(() => { @@ -97,7 +97,7 @@ public class CornFieldReinforcement : MonoBehaviour machineUpgradeView.SetButtonActive(price <= CoinManager.Instance.OwnCoin); machineUpgradeView.SetData(gameData.MachineLevel, price); // 購入ボタン - machineUpgradeView.ButtonClickObserve.Subscribe(_ => + machineUpgradeView.ButtonClickObserve.ThrottleFirst(TimeSpan.FromSeconds(.3f)).Subscribe(_ => { LocalCacheManager.Save(CornFieldReinforcementDataTypeTag, CornFieldUpgradeType.Machine); LocalCacheManager.Save(CornFieldReinforcementDataTag, (gameData.MachineLevel, price, new Action(() => { diff --git a/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornFieldReinforcementDetailView.cs b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornFieldReinforcementDetailView.cs index 6c0b56ac..d943c34b 100644 --- a/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornFieldReinforcementDetailView.cs +++ b/popcorn/Assets/MyGame/Scenes/CornField/Scripts/CornFieldReinforcementDetailView.cs @@ -55,7 +55,7 @@ public class CornFieldReinforcementDetailView : MonoBehaviour default: throw new ArgumentOutOfRangeException(); } - closeButton.OnClickAsObservable().Subscribe(_ => + closeButton.OnClickAsObservable().Take(1).Subscribe(_ => { transform.SetLocalScale(0); backgroundAnimator.SetTrigger(CloseTrigger); @@ -66,8 +66,11 @@ public class CornFieldReinforcementDetailView : MonoBehaviour }).AddTo(this); purchaseButton.OnClickAsObservable() .Merge(releaseButton.OnClickAsObservable()) - .Subscribe(_ => + .Take(1) + .Subscribe(_ => { }, () => { + purchaseButton.interactable = false; + releaseButton.interactable = false; // 購入処理 callback?.Invoke(); transform.SetLocalScale(0); diff --git a/popcorn/Assets/MyGame/Scenes/Main/Prefabs/UICamera.prefab b/popcorn/Assets/MyGame/Scenes/Main/Prefabs/UICamera.prefab index 70e79bca..631c5e9a 100644 --- a/popcorn/Assets/MyGame/Scenes/Main/Prefabs/UICamera.prefab +++ b/popcorn/Assets/MyGame/Scenes/Main/Prefabs/UICamera.prefab @@ -10,6 +10,7 @@ GameObject: m_Component: - component: {fileID: 9117079084301130545} - component: {fileID: 9117079084301130544} + - component: {fileID: 8528884583953186477} m_Layer: 5 m_Name: UICamera m_TagString: Untagged @@ -74,3 +75,15 @@ Camera: m_OcclusionCulling: 0 m_StereoConvergence: 10 m_StereoSeparation: 0.022 +--- !u!114 &8528884583953186477 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9117079084301130547} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c11194ed6fd84a1f812fa2cfae75f873, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrder.cs b/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrder.cs index 3543065f..689ec0cc 100644 --- a/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrder.cs +++ b/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrder.cs @@ -35,7 +35,7 @@ public class BulkOrder : MonoBehaviour private void Start() { - closeButton.OnClickAsObservable().Subscribe(_ => + closeButton.OnClickAsObservable().Take(1).Subscribe(_ => { transform.parent.SetLocalScale(0); backgroundAnimator.SetTrigger(CloseTrigger); diff --git a/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrderAchievedView.cs b/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrderAchievedView.cs index 2aa8998a..93f179a5 100644 --- a/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrderAchievedView.cs +++ b/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrderAchievedView.cs @@ -32,7 +32,7 @@ public class BulkOrderAchievedView : MonoBehaviour messageText.text = messageList.First(data => data.id == gameData.OrderTextId).thanksText; orderCharacterImage.sprite = bulkOrderCharacter.GetThanksIcon(gameData.OrderIconIndex); } - closeButton.OnClickAsObservable().Subscribe(_ => + closeButton.OnClickAsObservable().Take(1).Subscribe(_ => { if (LocalCacheManager.Load(BulkOrder.AchievedCallbackTag, null) is Action callback) { diff --git a/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrderCancelView.cs b/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrderCancelView.cs index 68d8d48b..3c0b95c4 100644 --- a/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrderCancelView.cs +++ b/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrderCancelView.cs @@ -21,7 +21,7 @@ public class BulkOrderCancelView : MonoBehaviour coinText.text = orderData.rewardCoin.ToString(); heartText.text = orderData.rewardHeart.ToString(); } - closeButton.OnClickAsObservable().Subscribe(_ => + closeButton.OnClickAsObservable().Take(1).Subscribe(_ => { transform.parent.SetLocalScale(0); backgroundAnimator.SetTrigger(CloseTrigger); @@ -30,7 +30,7 @@ public class BulkOrderCancelView : MonoBehaviour TransitionManager.Instance.UnloadScene(GameScenes.BulkOrderCancel); }); }).AddTo(this); - cancelButton.OnClickAsObservable().Subscribe(_ => + cancelButton.OnClickAsObservable().Take(1).Subscribe(_ => { if (LocalCacheManager.Load(BulkOrder.CancelCallbackTag, null) is Action callback) { diff --git a/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrderNotifyView.cs b/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrderNotifyView.cs index f8ef649b..ff77445f 100644 --- a/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrderNotifyView.cs +++ b/popcorn/Assets/MyGame/Scenes/Main/Scripts/BulkOrderNotifyView.cs @@ -64,7 +64,7 @@ public class BulkOrderNotifyView : MonoBehaviour itemView3.SetActive(false); } } - closeButton.OnClickAsObservable().Subscribe(_ => + closeButton.OnClickAsObservable().Take(1).Subscribe(_ => { transform.parent.SetLocalScale(0); backgroundAnimator.SetTrigger(CloseTrigger); diff --git a/popcorn/Assets/MyGame/Scenes/Main/Scripts/Information.cs b/popcorn/Assets/MyGame/Scenes/Main/Scripts/Information.cs index e251225c..8b96e619 100644 --- a/popcorn/Assets/MyGame/Scenes/Main/Scripts/Information.cs +++ b/popcorn/Assets/MyGame/Scenes/Main/Scripts/Information.cs @@ -43,7 +43,7 @@ public class Information : MonoBehaviour private void Start() { - closeButton.OnClickAsObservable().Subscribe(_ => + closeButton.OnClickAsObservable().Take(1).Subscribe(_ => { transform.SetLocalScale(0); backgroundAnimator.SetTrigger(CloseTrigger); diff --git a/popcorn/Assets/MyGame/Scenes/Main/Scripts/KitchenManager.cs b/popcorn/Assets/MyGame/Scenes/Main/Scripts/KitchenManager.cs index 7efad9bf..bfedd40c 100644 --- a/popcorn/Assets/MyGame/Scenes/Main/Scripts/KitchenManager.cs +++ b/popcorn/Assets/MyGame/Scenes/Main/Scripts/KitchenManager.cs @@ -23,7 +23,8 @@ public class KitchenManager : MonoBehaviour void Start() { - SoundManager.Instance.PlayBGM("bgm_Main"); + // 実機でアプリ初回起動時にBGMならないの回避。1フレーム遅らせると鳴る + Observable.NextFrame().Subscribe(_ => SoundManager.Instance.PlayBGM("bgm_Main")); var gameData = GameDataManager.GameData; // レシピの表示 diff --git a/popcorn/Assets/MyGame/Scenes/Main/Scripts/MissionCompleteView.cs b/popcorn/Assets/MyGame/Scenes/Main/Scripts/MissionCompleteView.cs index 5e59eb2f..b370492f 100644 --- a/popcorn/Assets/MyGame/Scenes/Main/Scripts/MissionCompleteView.cs +++ b/popcorn/Assets/MyGame/Scenes/Main/Scripts/MissionCompleteView.cs @@ -18,7 +18,7 @@ public class MissionCompleteView : MonoBehaviour { var (missionData, callback) = LocalCacheManager.Load< (MissionData, Action)>(MissionManager.MissionDataTag); LocalCacheManager.Remove(MissionManager.MissionDataTag); - closeButton.OnClickAsObservable().Subscribe(_ => + closeButton.OnClickAsObservable().Take(1).Subscribe(_ => { callback?.Invoke(); transform.SetLocalScale(0); diff --git a/popcorn/Assets/MyGame/Scenes/Main/Scripts/MissionManager.cs b/popcorn/Assets/MyGame/Scenes/Main/Scripts/MissionManager.cs index 580d966e..2935952e 100644 --- a/popcorn/Assets/MyGame/Scenes/Main/Scripts/MissionManager.cs +++ b/popcorn/Assets/MyGame/Scenes/Main/Scripts/MissionManager.cs @@ -22,7 +22,7 @@ public class MissionManager : MonoBehaviour private void Start() { - closeButton.OnClickAsObservable().Subscribe(_ => + closeButton.OnClickAsObservable().Take(1).Subscribe(_ => { LocalCacheManager.Remove(MissionDataTag); transform.SetLocalScale(0); @@ -76,7 +76,7 @@ public class MissionManager : MonoBehaviour { count = gameData.dailyMissionIdArray.Length, reward = dailyMissionCompleteRewardCoin, - text = "デイリーミッションすべて完了で達成", + text = "デイリーミッションを達成しよう", category = (int)MissionCategory.Daily, }; var progressValue = gameData.dailyMissionAchievedIdArray.Length; diff --git a/popcorn/Assets/MyGame/Scenes/Settings/Scripts/SettingDialog.cs b/popcorn/Assets/MyGame/Scenes/Settings/Scripts/SettingDialog.cs index ab3504a4..ee0b9afe 100644 --- a/popcorn/Assets/MyGame/Scenes/Settings/Scripts/SettingDialog.cs +++ b/popcorn/Assets/MyGame/Scenes/Settings/Scripts/SettingDialog.cs @@ -19,7 +19,7 @@ namespace MyGame.Scenes.Settings.Scripts private void Start() { - closeButton.OnClickAsObservable().Subscribe(_ => + closeButton.OnClickAsObservable().Take(1).Subscribe(_ => { SoundManager.Instance.SaveVolumeBGM(); SoundManager.Instance.SaveVolumeSE(); diff --git a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/Market.cs b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/Market.cs index c58aaa74..1ab96f6d 100644 --- a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/Market.cs +++ b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/Market.cs @@ -99,16 +99,17 @@ public class Market : SingletonMonoBehaviour // 購入リクエスト var maxOrder = orderPosisionObject.transform.childCount; - orderSubject.Do(_ => { Debug.Log($"aa orderSubject");}) - .Merge(waitCustomerList.ObserveAdd().AsUnitObservable().Do(_ => { Debug.Log($"aa waitCustomerListAdd");})) - .Merge(shopState.Where(x => x == ShopState.Open).AsUnitObservable().Do(_ => { Debug.Log($"aa shopStateOpen");})) + Observable.Merge( + orderSubject /*.Do(_ => { Debug.Log($"aa orderSubject");})*/, + waitCustomerList.ObserveAdd().AsUnitObservable() /*.Do(_ => { Debug.Log($"aa waitCustomerListAdd");})*/, + shopState.Where(x => x == ShopState.Open).AsUnitObservable() /*.Do(_ => { Debug.Log($"aa shopStateOpen");})*/ + ) .BatchFrame() .Where(_ => waitCustomerList.Count > 0) .SelectMany(_ => waitCustomerList.ToList().GetRange(0, Mathf.Min(maxOrder, waitCustomerList.Count))) .Subscribe(customer => { var count = customerList.Count(x => x.State.Value == CustomerState.Order); - Debug.Log($"aa order:{count} Request {Time.time} {customer.GetHashCode()}"); if (count >= maxOrder) { // shopState.Value = ShopState.Busy; @@ -171,8 +172,17 @@ public class Market : SingletonMonoBehaviour } catch (Exception e) { - Debug.LogError($"d:{displayFlavors.Count}, {string.Join("", tmpOrders)}"); - throw; + Debug.LogError($"d:{displayFlavors.Count}, {string.Join("", tmpOrders)}" + + $"\nshuffled:{shuffledOrder.Count}, maxNum:{shuffledOrder.Max()}"); + /* + * 例外握りつぶし + * 存在しないorderを引いたのでそのまま処理せず逃がす + */ + controller.CallWaitForSeconds(1.5f, () => + { + controller.ChangeCustomerState(CustomerState.Leave); + }); + dontBuyCustomerList.Add(controller); } } foreach (var customerController in dontBuyCustomerList) @@ -470,9 +480,26 @@ public class Market : SingletonMonoBehaviour } // 補充候補リスト var orders = Enumerable.Range(0, shopStock.Count).Except(shuffledOrder).ToList(); - var refillList = orders.OrderBy(_ => Random.value).ToList(); + var refillList = orders.GetRange(0, refillCount).OrderBy(_ => Random.value).ToList(); shuffledOrder.AddRange(refillList); - displayFlavors = shopStock.ToList(); + try + { + if (displayFlavors.Count <= shopStock.Count) + { + displayFlavors = shopStock.ToList(); + } + else + { + for (int i = 0; i < refillList.Count; i++) + { + displayFlavors[refillList[i]] = shopStock[shopStock.Count - 1 - i]; + } + } + } + catch (Exception e) + { + throw; + } return refillList; } diff --git a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/MarketManager.cs b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/MarketManager.cs index 8aae8266..7ed977d2 100644 --- a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/MarketManager.cs +++ b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/MarketManager.cs @@ -83,7 +83,23 @@ public class MarketManager : MonoBehaviour productDataList = SpreadsheetDataManager.Instance.GetBaseDataList(Const.ProductDataSheet); stockView.SetStock(gameData.StorageTanks); - var startStocks = market.ShuffledOrder.Select(x => (x, market.DisplayFlavors[x])).ToList(); + List<(int, ProductStockData)> startStocks; + try + { + startStocks = market.ShuffledOrder.Select(x => (x, market.DisplayFlavors[x])).ToList(); + } + catch (Exception e) + { +#if UNITY_EDITOR + Debug.LogError($"{market.ShuffledOrder.Count}, {market.DisplayFlavors.Count}"); +#endif + /* + * 例外握りつぶし + */ + startStocks = market.ShuffledOrder + .Where(x => x < market.DisplayFlavors.Count) + .Select(x => (x, market.DisplayFlavors[x])).ToList(); + } cartView.Initialize(); cartView.SetStock(startStocks, false); BrotherPinkView.Instance.SetBrotherView(pinkTarget); diff --git a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/ShopLevelUp.cs b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/ShopLevelUp.cs index 45460ff8..bf766b1f 100644 --- a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/ShopLevelUp.cs +++ b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/ShopLevelUp.cs @@ -24,7 +24,7 @@ public class ShopLevelUp : MonoBehaviour var shopLevel = LocalCacheManager.Load(DataTag); var scriptList = SpreadsheetDataManager.Instance.GetBaseDataList(Const.ScriptDataSheet); var targetScriptList = scriptList.Where(data => data.id == shopLevel).ToList(); - closeButton.OnClickAsObservable().Subscribe(_ => + closeButton.OnClickAsObservable().Take(1).Subscribe(_ => { transform.SetLocalScale(0); backgroundAnimator.SetTrigger(CloseTrigger); diff --git a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/TankDetailView.cs b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/TankDetailView.cs index dc89ab24..3ce1d8b2 100644 --- a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/TankDetailView.cs +++ b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/TankDetailView.cs @@ -26,7 +26,7 @@ public class TankDetailView : MonoBehaviour private void Start() { var data = LocalCacheManager.Load<(int tankNum, int totalStock, StorageTank tankData, ProductData productData, List<(ProductRarity rarity, int price, int stock)> raritySummaryData)>(TankDetailDataTag); - closeButton.OnClickAsObservable().Subscribe(_ => + closeButton.OnClickAsObservable().Take(1).Subscribe(_ => { transform.SetLocalScale(0); backgroundAnimator.SetTrigger(CloseTrigger); diff --git a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/TastingView.cs b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/TastingView.cs index eeb9d40c..51e7d4e5 100644 --- a/popcorn/Assets/MyGame/Scenes/marketing/Scripts/TastingView.cs +++ b/popcorn/Assets/MyGame/Scenes/marketing/Scripts/TastingView.cs @@ -25,7 +25,7 @@ public class TastingView : MonoBehaviour packageImageTarget.DestroyAllChildrens(); Instantiate(x.productData.GetIconPrefab(), packageImageTarget); }).AddTo(this); - closeButton.OnClickAsObservable().Subscribe(_ => + closeButton.OnClickAsObservable().Take(1).Subscribe(_ => { backgroundAnimator.SetTrigger(CloseTrigger); this.CallWaitForSeconds(.5f, () => @@ -34,7 +34,7 @@ public class TastingView : MonoBehaviour TransitionManager.Instance.UnloadScene(GameScenes.Tasting); }); }).AddTo(this); - tastingButton.OnClickAsObservable().Subscribe(_ => + tastingButton.OnClickAsObservable().ThrottleFirst(TimeSpan.FromSeconds(.3f)).Subscribe(_ => { backgroundAnimator.SetTrigger(CloseTrigger); this.CallWaitForSeconds(.5f, () => diff --git a/popcorn/Assets/MyGame/Scenes/marketing/marketing.unity b/popcorn/Assets/MyGame/Scenes/marketing/marketing.unity index baed5571..ec26701a 100644 --- a/popcorn/Assets/MyGame/Scenes/marketing/marketing.unity +++ b/popcorn/Assets/MyGame/Scenes/marketing/marketing.unity @@ -1064,6 +1064,7 @@ GameObject: - component: {fileID: 658354829} - component: {fileID: 658354828} - component: {fileID: 658354831} + - component: {fileID: 658354832} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -1110,7 +1111,7 @@ Camera: m_Depth: -1 m_CullingMask: serializedVersion: 2 - m_Bits: 4294967295 + m_Bits: 23 m_RenderingPath: -1 m_TargetTexture: {fileID: 0} m_TargetDisplay: 0 @@ -1152,6 +1153,18 @@ MonoBehaviour: serializedVersion: 2 m_Bits: 4294967295 m_MaxRayIntersections: 0 +--- !u!114 &658354832 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 658354827} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c11194ed6fd84a1f812fa2cfae75f873, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &658817260 GameObject: m_ObjectHideFlags: 0 @@ -1636,7 +1649,7 @@ PrefabInstance: - target: {fileID: 4293843006989820480, guid: 1c993e9707f1a4fada56020be27dde28, type: 3} propertyPath: m_SizeDelta.y - value: 0 + value: 400 objectReference: {fileID: 0} - target: {fileID: 4293843006989820480, guid: 1c993e9707f1a4fada56020be27dde28, type: 3} @@ -1736,7 +1749,7 @@ PrefabInstance: - target: {fileID: 4293843007976718249, guid: 1c993e9707f1a4fada56020be27dde28, type: 3} propertyPath: m_SizeDelta.y - value: -653.7666 + value: -1063.2974 objectReference: {fileID: 0} - target: {fileID: 4293843007976718249, guid: 1c993e9707f1a4fada56020be27dde28, type: 3} @@ -1746,7 +1759,7 @@ PrefabInstance: - target: {fileID: 4293843007976718249, guid: 1c993e9707f1a4fada56020be27dde28, type: 3} propertyPath: m_AnchoredPosition.y - value: 58.699707 + value: 58.69995 objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 1c993e9707f1a4fada56020be27dde28, type: 3} diff --git a/popcorn/Assets/MyGame/Scenes/recipe/Scripts/RecipeDetailView.cs b/popcorn/Assets/MyGame/Scenes/recipe/Scripts/RecipeDetailView.cs index 44a54ce6..afb2501a 100644 --- a/popcorn/Assets/MyGame/Scenes/recipe/Scripts/RecipeDetailView.cs +++ b/popcorn/Assets/MyGame/Scenes/recipe/Scripts/RecipeDetailView.cs @@ -65,7 +65,7 @@ public class RecipeDetailView : MonoBehaviour } } - cancelButton.OnClickAsObservable().Subscribe(_ => + cancelButton.OnClickAsObservable().Take(1).Subscribe(_ => { transform.parent.SetLocalScale(0); backgroundAnimator.SetTrigger(CloseTrigger); @@ -76,7 +76,7 @@ public class RecipeDetailView : MonoBehaviour }); }).AddTo(this); - nextButton.OnClickAsObservable().Subscribe(_ => + nextButton.OnClickAsObservable().Take(1).Subscribe(_ => { LocalCacheManager.Save(PopcornGameManager.PanDataTag, panSelector.SelectedPanData.Value); // 消費 diff --git a/popcorn/Assets/MyGame/Scenes/recipe/Scripts/RecipeSelectDialog.cs b/popcorn/Assets/MyGame/Scenes/recipe/Scripts/RecipeSelectDialog.cs index b82ea051..ac7dcf03 100644 --- a/popcorn/Assets/MyGame/Scenes/recipe/Scripts/RecipeSelectDialog.cs +++ b/popcorn/Assets/MyGame/Scenes/recipe/Scripts/RecipeSelectDialog.cs @@ -21,7 +21,7 @@ public class RecipeSelectDialog : MonoBehaviour void Start() { var gameData = GameDataManager.GameData; - closeButton.OnClickAsObservable().Subscribe(_ => + closeButton.OnClickAsObservable().Take(1).Subscribe(_ => { transform.SetLocalScale(0); backgroundAnimator.SetTrigger(CloseTrigger); @@ -56,7 +56,7 @@ public class RecipeSelectDialog : MonoBehaviour if (hasRecipe) { view.SetLockPanel(false); - view.RecipeClickObservable.Subscribe(_ => + view.RecipeClickObservable.ThrottleFirst(TimeSpan.FromSeconds(.3f)).Subscribe(_ => { LocalCacheManager.Save(PopcornGameManager.CookingDataTag, productData); RecipeDetailView.ShowDialog(() => diff --git a/popcorn/Assets/MyGame/Scenes/shopping/Purchase.unity b/popcorn/Assets/MyGame/Scenes/shopping/Purchase.unity index 160c2645..e00fb59c 100644 --- a/popcorn/Assets/MyGame/Scenes/shopping/Purchase.unity +++ b/popcorn/Assets/MyGame/Scenes/shopping/Purchase.unity @@ -133,6 +133,16 @@ PrefabInstance: propertyPath: m_AnchoredPosition.y value: 50 objectReference: {fileID: 0} + - target: {fileID: 9133304335268316946, guid: 3ea48dc60c16147799619e2fb9fe1cd9, + type: 3} + propertyPath: m_Transition + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 9133304335268316946, guid: 3ea48dc60c16147799619e2fb9fe1cd9, + type: 3} + propertyPath: m_Interactable + value: 1 + objectReference: {fileID: 0} - target: {fileID: 9133304335334808081, guid: 3ea48dc60c16147799619e2fb9fe1cd9, type: 3} propertyPath: m_AnchoredPosition.x diff --git a/popcorn/Assets/MyGame/Scenes/shopping/Scripts/ShopItemDetailView.cs b/popcorn/Assets/MyGame/Scenes/shopping/Scripts/ShopItemDetailView.cs index 79a73562..0fb0102a 100644 --- a/popcorn/Assets/MyGame/Scenes/shopping/Scripts/ShopItemDetailView.cs +++ b/popcorn/Assets/MyGame/Scenes/shopping/Scripts/ShopItemDetailView.cs @@ -19,7 +19,7 @@ public class ShopItemDetailView : MonoBehaviour { var data = LocalCacheManager.Load(ItemDetailTag); SetData(data); - closeButton.OnClickAsObservable().Subscribe(_ => + closeButton.OnClickAsObservable().Take(1).Subscribe(_ => { transform.SetLocalScale(0); backgroundAnimator.SetTrigger(CloseTrigger); diff --git a/popcorn/Assets/MyGame/Scenes/shopping/Scripts/ShopItemPurchaseView.cs b/popcorn/Assets/MyGame/Scenes/shopping/Scripts/ShopItemPurchaseView.cs index d4b5f4b8..758a7ae1 100644 --- a/popcorn/Assets/MyGame/Scenes/shopping/Scripts/ShopItemPurchaseView.cs +++ b/popcorn/Assets/MyGame/Scenes/shopping/Scripts/ShopItemPurchaseView.cs @@ -43,7 +43,7 @@ public class ShopItemPurchaseView : MonoBehaviour var data = LocalCacheManager.Load<(ShopData shopData, int stockCount)>(ItemPurchaseTag); LocalCacheManager.Remove(ItemPurchaseTag); SetData(data.shopData, data.stockCount); - closeButton.OnClickAsObservable().Subscribe(_ => + closeButton.OnClickAsObservable().Take(1).Subscribe(_ => { LocalCacheManager.Load(CloseCallbackTag, null)?.Invoke(); transform.SetLocalScale(0); @@ -53,8 +53,9 @@ public class ShopItemPurchaseView : MonoBehaviour TransitionManager.Instance.UnloadScene(GameScenes.Purchase); }); }).AddTo(this); - purchaseOnButton.OnClickAsObservable().Subscribe(_ => + purchaseOnButton.OnClickAsObservable().Take(1).Subscribe(_ => { + purchaseOnButton.interactable = false; LocalCacheManager.Load>(PurchaseCallbackTag, null)?.Invoke(currentCount.Value); transform.SetLocalScale(0); backgroundAnimator.SetTrigger(CloseTrigger); diff --git a/popcorn/Assets/MyGame/Scenes/shopping/Scripts/Shopping.cs b/popcorn/Assets/MyGame/Scenes/shopping/Scripts/Shopping.cs index 9fda3266..450333d9 100644 --- a/popcorn/Assets/MyGame/Scenes/shopping/Scripts/Shopping.cs +++ b/popcorn/Assets/MyGame/Scenes/shopping/Scripts/Shopping.cs @@ -57,6 +57,7 @@ public class Shopping : MonoBehaviour }).AddTo(itemView); // アイテム購入クリック購読 itemView.PurchaseButtonObservable + .ThrottleFirst(TimeSpan.FromSeconds(.3f)) .Where(_ => shopData.price <= CoinManager.Instance.OwnCoin) .Subscribe(_ => { @@ -77,7 +78,7 @@ public class Shopping : MonoBehaviour }); }).AddTo(itemView); // show detail view - itemView.DetailButtonObservable.Subscribe(_ => + itemView.DetailButtonObservable.ThrottleFirst(TimeSpan.FromSeconds(.3f)).Subscribe(_ => { LocalCacheManager.Save(ShopItemDetailView.ItemDetailTag, shopData); TransitionManager.Instance.LoadSceneAdditive(GameScenes.ShoppingExplanation); diff --git a/popcorn/Assets/MyGame/Scripts/ApplicationExitConfirmDialogManager.cs b/popcorn/Assets/MyGame/Scripts/ApplicationExitConfirmDialogManager.cs index 79c5ef33..97d48265 100644 --- a/popcorn/Assets/MyGame/Scripts/ApplicationExitConfirmDialogManager.cs +++ b/popcorn/Assets/MyGame/Scripts/ApplicationExitConfirmDialogManager.cs @@ -16,6 +16,7 @@ public sealed class ApplicationExitConfirmDialogManager : MonoBehaviour { backButton.OnClickAsObservable() .Merge(closeButton.OnClickAsObservable()) + .Take(1) .Subscribe(_ => { transform.parent.SetLocalScale(0); diff --git a/popcorn/Assets/MyGame/Scripts/CameraSizeChanger.cs b/popcorn/Assets/MyGame/Scripts/CameraSizeChanger.cs index f7a20060..9d65c1ab 100644 --- a/popcorn/Assets/MyGame/Scripts/CameraSizeChanger.cs +++ b/popcorn/Assets/MyGame/Scripts/CameraSizeChanger.cs @@ -33,6 +33,9 @@ namespace MyGame.Scripts case GameScenes.Main: camera.orthographicSize = 14f; break; + case GameScenes.marketing: + camera.orthographicSize = 13.5f; + break; } } } diff --git a/popcorn/Assets/MyGame/Scripts/GameDataObserver.cs b/popcorn/Assets/MyGame/Scripts/GameDataObserver.cs index 5619613b..c39389db 100644 --- a/popcorn/Assets/MyGame/Scripts/GameDataObserver.cs +++ b/popcorn/Assets/MyGame/Scripts/GameDataObserver.cs @@ -7,58 +7,143 @@ using UnityEngine; public class GameDataObserver : SingletonMonoBehaviour { [SerializeField] private FloatReactiveProperty checkInterval = new FloatReactiveProperty(.1f); - private IObservable heartObserver; - public IObservable Heart => heartObserver; + private readonly Subject heartObserver = new Subject(); + private readonly Subject sceneCounter = new Subject(); + private readonly Subject shopLevelObserver = new Subject(); + private readonly Subject achievedMissionObserver = new Subject(); + private readonly Subject addCoinObserver = new Subject(); + private readonly Subject subCoinObserver = new Subject(); + private readonly Subject addCornObserver = new Subject(); + private readonly Subject addCustomerObserver = new Subject(); + private readonly Subject addSalesObserver = new Subject(); + private readonly Subject addRareSalesObserver = new Subject(); + private readonly Subject hasRecipeObserver = new Subject(); + private readonly Subject deliveredBulkOrderObserver = new Subject(); + private readonly BoolReactiveProperty updateMissionAchieved = new BoolReactiveProperty(); + public IReadOnlyReactiveProperty UpdateMissionAchieved => updateMissionAchieved; - private IObservable sceneCounter; - public IObservable SceneCounter => sceneCounter; - - public IObservable ShopLevelUpdate; + public IObservable ShopLevelUpdate { get; private set; } private void Start() { checkInterval.AddTo(this); + updateMissionAchieved.AddTo(this); var levelList = SpreadsheetDataManager.Instance.GetBaseDataList(Const.ShopLevelDataSheet); - heartObserver = checkInterval - .Select(x => - Observable.Interval(TimeSpan.FromSeconds(x)) - .Select(_ => GameDataManager.GameData.Heart) - .DistinctUntilChanged()) - .Switch(); - - var shopLevelObserver = checkInterval - .Select(x => - Observable.Interval(TimeSpan.FromSeconds(x)) - .Select(_ => GameDataManager.GameData.ViewedShopLevel) - .DistinctUntilChanged()) - .Switch(); + checkInterval.Select(x => Observable.Interval(TimeSpan.FromSeconds(x))).Switch().Subscribe(_ => + { + var gameData = GameDataManager.GameData; + heartObserver.OnNext(gameData.Heart); + sceneCounter.OnNext(UnityEngine.SceneManagement.SceneManager.sceneCount); + shopLevelObserver.OnNext(gameData.ViewedShopLevel); + achievedMissionObserver.OnNext(gameData.AchievedMission.Count); + // addCoinObserver.OnNext(gameData.TotalAddCoin); + subCoinObserver.OnNext(gameData.TotalSubCoin); + addCornObserver.OnNext(gameData.TotalAddCornSeed); + addCustomerObserver.OnNext(gameData.TotalCustomerCount); + addSalesObserver.OnNext(gameData.TotalSales); + addRareSalesObserver.OnNext(gameData.RareTotalSales); + hasRecipeObserver.OnNext(gameData.MyRecipes.Length); + deliveredBulkOrderObserver.OnNext(gameData.BulkOrderDeliveredCount); + }).AddTo(this); - sceneCounter = checkInterval - .Select(x => - Observable.Interval(TimeSpan.FromSeconds(x)) - .Select(_ => UnityEngine.SceneManagement.SceneManager.sceneCount) - .DistinctUntilChanged() - .Delay(TimeSpan.FromSeconds(.4f)) - // .Do(c => { Debug.Log($"sceneCount:{c}");}) - ) - .Switch(); - - ShopLevelUpdate = Observable.CombineLatest(heartObserver, shopLevelObserver, sceneCounter, - (heart, level, sceneCount) => - { - if (level == 0 && GameDataManager.GameData.isFirstPlay) + ShopLevelUpdate = Observable.CombineLatest( + heartObserver.DistinctUntilChanged(), + sceneCounter.DistinctUntilChanged().Delay(TimeSpan.FromSeconds(.4f)), + (heart, sceneCount) => { - return false; - } - var currentLevel = levelList.LastOrDefault(data => data.heart <= heart)?.shopLevel ?? 1; - return currentLevel > level && sceneCount == 1; - }) + var viewedLevel = GameDataManager.GameData.ViewedShopLevel; + if (viewedLevel == 0 && GameDataManager.GameData.isFirstPlay) + { + return false; + } + var currentLevel = levelList.LastOrDefault(data => data.heart <= heart)?.shopLevel ?? 1; + return currentLevel > viewedLevel && sceneCount == 1; + }) .DistinctUntilChanged() .Publish(false) .RefCount(); #if UNITY_EDITOR // ShopLevelUpdate.Subscribe(x => { Debug.Log($"change:{x}"); }); #endif + + // ミッション達成チェッカー + var missionList = SpreadsheetDataManager.Instance.GetBaseDataList(Const.MissionDataSheet); + var normalMissionList = missionList.Where(data => data.Category == MissionCategory.Normal).ToList(); + var latestMissionList = GetLatestMissionList(); + // 各条件の最前の未達成のミッションのみにフィルタ + List GetLatestMissionList() => normalMissionList + .Where(data => data.shopLevel <= GameDataManager.GameData.ViewedShopLevel) + .Where(data => !GameDataManager.GameData.AchievedMission.Contains(data.id)) + .GroupBy(data => data.Condition, (_, list) => list.FirstOrDefault()).ToList(); + // 店舗レベルアップorミッション達成でリスト更新して達成チェック + Observable.Merge( + shopLevelObserver.DistinctUntilChanged(), + achievedMissionObserver.DistinctUntilChanged()) + .Subscribe(_ => + { + latestMissionList = GetLatestMissionList(); + // ここで達成を再確認 + updateMissionAchieved.Value = latestMissionList + .Any(data => data.count <= MissionManager.GetProgressValue(data)); + + // CheckDailyCompleteMission + if (!GameDataManager.GameData.dailyMissionCompleted) + { + if (GameDataManager.GameData.dailyMissionIdArray.Length <= GameDataManager.GameData.dailyMissionAchievedIdArray.Length) + { + updateMissionAchieved.Value = true; + } + } + }); + + // 各種ポップコーン以外の達成を確認 + Observable.Merge( + subCoinObserver.DistinctUntilChanged().Select(_ => MissionCondition.CoinConsumeCount), + addCornObserver.DistinctUntilChanged().Select(_ => MissionCondition.CornCount), + addCustomerObserver.DistinctUntilChanged().Select(_ => MissionCondition.CustomerCount), + hasRecipeObserver.DistinctUntilChanged().Select(_ => MissionCondition.RecipeCount), + deliveredBulkOrderObserver.DistinctUntilChanged().Select(_ => MissionCondition.BulkOrderDeliveredCount)) + .Subscribe(condition => + { + if (latestMissionList + .Where(data => data.Condition == condition) + .Any(data => data.count <= MissionManager.GetProgressValue(data))) + { + updateMissionAchieved.Value = true; + } + + // dailyMission + var ids = GameDataManager.GameData.dailyMissionIdArray.Except(GameDataManager.GameData.dailyMissionAchievedIdArray); + if (missionList + .Where(data => ids.Contains(data.id)) + .Any(missionData => missionData.count <= MissionManager.GetDailyProgressValue(missionData))) + { + updateMissionAchieved.Value = true; + } + }); + + // ポップコーン達成確認 + Observable.Merge( + addSalesObserver.DistinctUntilChanged(), + addRareSalesObserver.DistinctUntilChanged()) + .Subscribe(_ => + { + if (latestMissionList + .Any(data => data.count <= MissionManager.GetProgressValue(data))) + { + updateMissionAchieved.Value = true; + } + + // dailyMission + var ids = GameDataManager.GameData.dailyMissionIdArray.Except(GameDataManager.GameData.dailyMissionAchievedIdArray); + if (missionList + .Where(data => ids.Contains(data.id)) + .Any(missionData => missionData.count <= MissionManager.GetDailyProgressValue(missionData))) + { + updateMissionAchieved.Value = true; + } + }); + // デイリーミッション日付チェック sceneCounter .Where(x => x <= 1) @@ -93,7 +178,6 @@ public class GameDataObserver : SingletonMonoBehaviour gameData.dailyMissionCompleted = false; gameData.ResetDailyTotalCount(); // 新ミッション登録 - var missionList = SpreadsheetDataManager.Instance.GetBaseDataList(Const.MissionDataSheet); var targetList = missionList.Where(data => data.Category == MissionCategory.Daily && data.shopLevel <= gameData.ViewedShopLevel); gameData.dailyMissionIdArray = targetList.ToList().RandomChoose(3).Select(data => data.id).ToArray(); diff --git a/popcorn/Assets/MyGame/Scripts/HeaderManager.cs b/popcorn/Assets/MyGame/Scripts/HeaderManager.cs index 5e91eda4..ba596a1c 100644 --- a/popcorn/Assets/MyGame/Scripts/HeaderManager.cs +++ b/popcorn/Assets/MyGame/Scripts/HeaderManager.cs @@ -21,43 +21,16 @@ public class HeaderManager : MonoBehaviour }); missionButton.OnClickAsObservable().ThrottleFirst(TimeSpan.FromSeconds(1f)).Subscribe(_ => { - MissionManager.ShowDialog(onAchieved:() => missionIndicator.SetActive(CheckMissionIndicate())); + MissionManager.ShowDialog(); }); informationButton.OnClickAsObservable().ThrottleFirst(TimeSpan.FromSeconds(1f)).Subscribe(_ => { TransitionManager.Instance.LoadSceneAdditive(GameScenes.Information); }); // mission報酬通知 - missionIndicator.SetActive(CheckMissionIndicate()); - } - - private bool CheckMissionIndicate() - { - // ミッション読み込み - var missionList = SpreadsheetDataManager.Instance.GetBaseDataList(Const.MissionDataSheet); - var gameData = GameDataManager.GameData; - // ミッション表示 - if (missionList - .Where(data => data.Category == MissionCategory.Normal && data.shopLevel <= gameData.ViewedShopLevel) - .Where(missionData => !GameDataManager.GameData.AchievedMission.Contains(missionData.id)) - .Any(missionData => missionData.count <= MissionManager.GetProgressValue(missionData))) + GameDataObserver.Instance.UpdateMissionAchieved.Subscribe(x => { - return true; - } - - // dailyMission - // コンプリートミッション - if (!gameData.dailyMissionCompleted) - { - if (gameData.dailyMissionIdArray.Length <= gameData.dailyMissionAchievedIdArray.Length) - { - return true; - } - } - - var ids = gameData.dailyMissionIdArray.Except(gameData.dailyMissionAchievedIdArray); - return missionList - .Where(data => ids.Contains(data.id)) - .Any(missionData => missionData.count <= MissionManager.GetDailyProgressValue(missionData)); + missionIndicator.SetActive(x); + }).AddTo(this); } } diff --git a/popcorn/Assets/MyGame/Scripts/VideoFailToLoadDialog.cs b/popcorn/Assets/MyGame/Scripts/VideoFailToLoadDialog.cs index 17bed5dc..de7b5afb 100644 --- a/popcorn/Assets/MyGame/Scripts/VideoFailToLoadDialog.cs +++ b/popcorn/Assets/MyGame/Scripts/VideoFailToLoadDialog.cs @@ -15,7 +15,7 @@ namespace MyGame.Scripts private void Start() { - closeButton.OnClickAsObservable().Subscribe(_ => + closeButton.OnClickAsObservable().Take(1).Subscribe(_ => { transform.parent.SetLocalScale(0); backgroundAnimator.SetTrigger(CloseTrigger); diff --git a/popcorn/ProjectSettings/BurstAotSettings_iOS.json b/popcorn/ProjectSettings/BurstAotSettings_iOS.json new file mode 100644 index 00000000..751473f1 --- /dev/null +++ b/popcorn/ProjectSettings/BurstAotSettings_iOS.json @@ -0,0 +1,13 @@ +{ + "MonoBehaviour": { + "Version": 3, + "EnableBurstCompilation": true, + "EnableOptimisations": true, + "EnableSafetyChecks": false, + "EnableDebugInAllBuilds": false, + "CpuMinTargetX32": 0, + "CpuMaxTargetX32": 0, + "CpuMinTargetX64": 0, + "CpuMaxTargetX64": 0 + } +}